/* Solidification of animation.h */
/********************************************************************\
* Generated code, don't edit                                         *
\********************************************************************/
#include "be_constobj.h"
// compact class 'BreatheAnimation' ktab size: 18, total: 25 (saved 56 bytes)
static const bvalue be_ktab_class_BreatheAnimation[18] = {
  /* K0   */  be_nested_str_weak(on_param_changed),
  /* K1   */  be_nested_str_weak(base_color),
  /* K2   */  be_nested_str_weak(breathe_provider),
  /* K3   */  be_nested_str_weak(min_brightness),
  /* K4   */  be_nested_str_weak(max_brightness),
  /* K5   */  be_nested_str_weak(period),
  /* K6   */  be_nested_str_weak(duration),
  /* K7   */  be_nested_str_weak(curve_factor),
  /* K8   */  be_nested_str_weak(BreatheAnimation_X28base_color_X3D0x_X2508x_X2C_X20min_brightness_X3D_X25s_X2C_X20max_brightness_X3D_X25s_X2C_X20period_X3D_X25s_X2C_X20curve_factor_X3D_X25s_X2C_X20priority_X3D_X25s_X2C_X20running_X3D_X25s_X29),
  /* K9   */  be_nested_str_weak(priority),
  /* K10  */  be_nested_str_weak(is_running),
  /* K11  */  be_nested_str_weak(init),
  /* K12  */  be_nested_str_weak(animation),
  /* K13  */  be_nested_str_weak(breathe_color),
  /* K14  */  be_nested_str_weak(color),
  /* K15  */  be_nested_str_weak(start),
  /* K16  */  be_nested_str_weak(engine),
  /* K17  */  be_nested_str_weak(time_ms),
};


extern const bclass be_class_BreatheAnimation;

/********************************************************************
** Solidified function: on_param_changed
********************************************************************/
be_local_closure(class_BreatheAnimation_on_param_changed,   /* name */
  be_nested_proto(
    7,                          /* nstack */
    3,                          /* argc */
    10,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    0,                          /* has sup protos */
    NULL,                       /* no sub protos */
    1,                          /* has constants */
    &be_ktab_class_BreatheAnimation,     /* shared constants */
    be_str_weak(on_param_changed),
    &be_const_str_solidified,
    ( &(const binstruction[32]) {  /* code */
      0x600C0003,  //  0000  GETGBL	R3	G3
      0x5C100000,  //  0001  MOVE	R4	R0
      0x7C0C0200,  //  0002  CALL	R3	1
      0x8C0C0700,  //  0003  GETMET	R3	R3	K0
      0x5C140200,  //  0004  MOVE	R5	R1
      0x5C180400,  //  0005  MOVE	R6	R2
      0x7C0C0600,  //  0006  CALL	R3	3
      0x1C0C0301,  //  0007  EQ	R3	R1	K1
      0x780E0002,  //  0008  JMPF	R3	#000C
      0x880C0102,  //  0009  GETMBR	R3	R0	K2
      0x900E0202,  //  000A  SETMBR	R3	K1	R2
      0x70020012,  //  000B  JMP		#001F
      0x1C0C0303,  //  000C  EQ	R3	R1	K3
      0x780E0002,  //  000D  JMPF	R3	#0011
      0x880C0102,  //  000E  GETMBR	R3	R0	K2
      0x900E0602,  //  000F  SETMBR	R3	K3	R2
      0x7002000D,  //  0010  JMP		#001F
      0x1C0C0304,  //  0011  EQ	R3	R1	K4
      0x780E0002,  //  0012  JMPF	R3	#0016
      0x880C0102,  //  0013  GETMBR	R3	R0	K2
      0x900E0802,  //  0014  SETMBR	R3	K4	R2
      0x70020008,  //  0015  JMP		#001F
      0x1C0C0305,  //  0016  EQ	R3	R1	K5
      0x780E0002,  //  0017  JMPF	R3	#001B
      0x880C0102,  //  0018  GETMBR	R3	R0	K2
      0x900E0C02,  //  0019  SETMBR	R3	K6	R2
      0x70020003,  //  001A  JMP		#001F
      0x1C0C0307,  //  001B  EQ	R3	R1	K7
      0x780E0001,  //  001C  JMPF	R3	#001F
      0x880C0102,  //  001D  GETMBR	R3	R0	K2
      0x900E0E02,  //  001E  SETMBR	R3	K7	R2
      0x80000000,  //  001F  RET	0
    })
  )
);
/*******************************************************************/


/********************************************************************
** Solidified function: tostring
********************************************************************/
be_local_closure(class_BreatheAnimation_tostring,   /* name */
  be_nested_proto(
    10,                          /* nstack */
    1,                          /* argc */
    10,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    0,                          /* has sup protos */
    NULL,                       /* no sub protos */
    1,                          /* has constants */
    &be_ktab_class_BreatheAnimation,     /* shared constants */
    be_str_weak(tostring),
    &be_const_str_solidified,
    ( &(const binstruction[11]) {  /* code */
      0x60040018,  //  0000  GETGBL	R1	G24
      0x58080008,  //  0001  LDCONST	R2	K8
      0x880C0101,  //  0002  GETMBR	R3	R0	K1
      0x88100103,  //  0003  GETMBR	R4	R0	K3
      0x88140104,  //  0004  GETMBR	R5	R0	K4
      0x88180105,  //  0005  GETMBR	R6	R0	K5
      0x881C0107,  //  0006  GETMBR	R7	R0	K7
      0x88200109,  //  0007  GETMBR	R8	R0	K9
      0x8824010A,  //  0008  GETMBR	R9	R0	K10
      0x7C041000,  //  0009  CALL	R1	8
      0x80040200,  //  000A  RET	1	R1
    })
  )
);
/*******************************************************************/


/********************************************************************
** Solidified function: init
********************************************************************/
be_local_closure(class_BreatheAnimation_init,   /* name */
  be_nested_proto(
    5,                          /* nstack */
    2,                          /* argc */
    10,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    0,                          /* has sup protos */
    NULL,                       /* no sub protos */
    1,                          /* has constants */
    &be_ktab_class_BreatheAnimation,     /* shared constants */
    be_str_weak(init),
    &be_const_str_solidified,
    ( &(const binstruction[14]) {  /* code */
      0x60080003,  //  0000  GETGBL	R2	G3
      0x5C0C0000,  //  0001  MOVE	R3	R0
      0x7C080200,  //  0002  CALL	R2	1
      0x8C08050B,  //  0003  GETMET	R2	R2	K11
      0x5C100200,  //  0004  MOVE	R4	R1
      0x7C080400,  //  0005  CALL	R2	2
      0xB80A1800,  //  0006  GETNGBL	R2	K12
      0x8C08050D,  //  0007  GETMET	R2	R2	K13
      0x5C100200,  //  0008  MOVE	R4	R1
      0x7C080400,  //  0009  CALL	R2	2
      0x90020402,  //  000A  SETMBR	R0	K2	R2
      0x88080102,  //  000B  GETMBR	R2	R0	K2
      0x90021C02,  //  000C  SETMBR	R0	K14	R2
      0x80000000,  //  000D  RET	0
    })
  )
);
/*******************************************************************/


/********************************************************************
** Solidified function: start
********************************************************************/
be_local_closure(class_BreatheAnimation_start,   /* name */
  be_nested_proto(
    6,                          /* nstack */
    2,                          /* argc */
    10,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    0,                          /* has sup protos */
    NULL,                       /* no sub protos */
    1,                          /* has constants */
    &be_ktab_class_BreatheAnimation,     /* shared constants */
    be_str_weak(start),
    &be_const_str_solidified,
    ( &(const binstruction[18]) {  /* code */
      0x60080003,  //  0000  GETGBL	R2	G3
      0x5C0C0000,  //  0001  MOVE	R3	R0
      0x7C080200,  //  0002  CALL	R2	1
      0x8C08050F,  //  0003  GETMET	R2	R2	K15
      0x5C100200,  //  0004  MOVE	R4	R1
      0x7C080400,  //  0005  CALL	R2	2
      0x4C080000,  //  0006  LDNIL	R2
      0x20080202,  //  0007  NE	R2	R1	R2
      0x780A0001,  //  0008  JMPF	R2	#000B
      0x5C080200,  //  0009  MOVE	R2	R1
      0x70020001,  //  000A  JMP		#000D
      0x88080110,  //  000B  GETMBR	R2	R0	K16
      0x88080511,  //  000C  GETMBR	R2	R2	K17
      0x880C0102,  //  000D  GETMBR	R3	R0	K2
      0x8C0C070F,  //  000E  GETMET	R3	R3	K15
      0x5C140400,  //  000F  MOVE	R5	R2
      0x7C0C0400,  //  0010  CALL	R3	2
      0x80040000,  //  0011  RET	1	R0
    })
  )
);
/*******************************************************************/


/********************************************************************
** Solidified class: BreatheAnimation
********************************************************************/
extern const bclass be_class_Animation;
be_local_class(BreatheAnimation,
    1,
    &be_class_Animation,
    be_nested_map(6,
    ( (struct bmapnode*) &(const bmapnode[]) {
        { be_const_key_weak(tostring, -1), be_const_closure(class_BreatheAnimation_tostring_closure) },
        { be_const_key_weak(on_param_changed, 0), be_const_closure(class_BreatheAnimation_on_param_changed_closure) },
        { be_const_key_weak(PARAMS, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_map, {
        be_const_map( *     be_nested_map(5,
    ( (struct bmapnode*) &(const bmapnode[]) {
        { be_const_key_weak(max_brightness, -1), be_const_bytes_instance(07000001FF0001FF00) },
        { be_const_key_weak(curve_factor, -1), be_const_bytes_instance(07000100050002) },
        { be_const_key_weak(min_brightness, -1), be_const_bytes_instance(07000001FF000000) },
        { be_const_key_weak(base_color, 0), be_const_bytes_instance(0400FF) },
        { be_const_key_weak(period, -1), be_const_bytes_instance(05006401B80B) },
    }))    ) } )) },
        { be_const_key_weak(init, 2), be_const_closure(class_BreatheAnimation_init_closure) },
        { be_const_key_weak(breathe_provider, -1), be_const_var(0) },
        { be_const_key_weak(start, -1), be_const_closure(class_BreatheAnimation_start_closure) },
    })),
    be_str_weak(BreatheAnimation)
);

/********************************************************************
** Solidified function: ease_out
********************************************************************/
be_local_closure(ease_out,   /* name */
  be_nested_proto(
    4,                          /* nstack */
    1,                          /* argc */
    0,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    0,                          /* has sup protos */
    NULL,                       /* no sub protos */
    1,                          /* has constants */
    ( &(const bvalue[ 4]) {     /* constants */
    /* K0   */  be_nested_str_weak(animation),
    /* K1   */  be_nested_str_weak(oscillator_value),
    /* K2   */  be_nested_str_weak(form),
    /* K3   */  be_nested_str_weak(EASE_OUT),
    }),
    be_str_weak(ease_out),
    &be_const_str_solidified,
    ( &(const binstruction[ 8]) {  /* code */
      0xB8060000,  //  0000  GETNGBL	R1	K0
      0x8C040301,  //  0001  GETMET	R1	R1	K1
      0x5C0C0000,  //  0002  MOVE	R3	R0
      0x7C040400,  //  0003  CALL	R1	2
      0xB80A0000,  //  0004  GETNGBL	R2	K0
      0x88080503,  //  0005  GETMBR	R2	R2	K3
      0x90060402,  //  0006  SETMBR	R1	K2	R2
      0x80040200,  //  0007  RET	1	R1
    })
  )
);
/*******************************************************************/


/********************************************************************
** Solidified function: triangle
********************************************************************/
be_local_closure(triangle,   /* name */
  be_nested_proto(
    4,                          /* nstack */
    1,                          /* argc */
    0,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    0,                          /* has sup protos */
    NULL,                       /* no sub protos */
    1,                          /* has constants */
    ( &(const bvalue[ 4]) {     /* constants */
    /* K0   */  be_nested_str_weak(animation),
    /* K1   */  be_nested_str_weak(oscillator_value),
    /* K2   */  be_nested_str_weak(form),
    /* K3   */  be_nested_str_weak(TRIANGLE),
    }),
    be_str_weak(triangle),
    &be_const_str_solidified,
    ( &(const binstruction[ 8]) {  /* code */
      0xB8060000,  //  0000  GETNGBL	R1	K0
      0x8C040301,  //  0001  GETMET	R1	R1	K1
      0x5C0C0000,  //  0002  MOVE	R3	R0
      0x7C040400,  //  0003  CALL	R1	2
      0xB80A0000,  //  0004  GETNGBL	R2	K0
      0x88080503,  //  0005  GETMBR	R2	R2	K3
      0x90060402,  //  0006  SETMBR	R1	K2	R2
      0x80040200,  //  0007  RET	1	R1
    })
  )
);
/*******************************************************************/


/********************************************************************
** Solidified function: set_event_active
********************************************************************/
be_local_closure(set_event_active,   /* name */
  be_nested_proto(
    6,                          /* nstack */
    2,                          /* argc */
    0,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    0,                          /* has sup protos */
    NULL,                       /* no sub protos */
    1,                          /* has constants */
    ( &(const bvalue[ 3]) {     /* constants */
    /* K0   */  be_nested_str_weak(animation),
    /* K1   */  be_nested_str_weak(event_manager),
    /* K2   */  be_nested_str_weak(set_event_active),
    }),
    be_str_weak(set_event_active),
    &be_const_str_solidified,
    ( &(const binstruction[ 7]) {  /* code */
      0xB80A0000,  //  0000  GETNGBL	R2	K0
      0x88080501,  //  0001  GETMBR	R2	R2	K1
      0x8C080502,  //  0002  GETMET	R2	R2	K2
      0x5C100000,  //  0003  MOVE	R4	R0
      0x5C140200,  //  0004  MOVE	R5	R1
      0x7C080600,  //  0005  CALL	R2	3
      0x80000000,  //  0006  RET	0
    })
  )
);
/*******************************************************************/


/********************************************************************
** Solidified function: noise_rainbow
********************************************************************/
be_local_closure(noise_rainbow,   /* name */
  be_nested_proto(
    5,                          /* nstack */
    1,                          /* argc */
    0,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    0,                          /* has sup protos */
    NULL,                       /* no sub protos */
    1,                          /* has constants */
    ( &(const bvalue[13]) {     /* constants */
    /* K0   */  be_nested_str_weak(animation),
    /* K1   */  be_nested_str_weak(noise_animation),
    /* K2   */  be_nested_str_weak(rich_palette),
    /* K3   */  be_nested_str_weak(palette),
    /* K4   */  be_nested_str_weak(PALETTE_RAINBOW),
    /* K5   */  be_nested_str_weak(cycle_period),
    /* K6   */  be_nested_str_weak(transition_type),
    /* K7   */  be_const_int(1),
    /* K8   */  be_nested_str_weak(brightness),
    /* K9   */  be_nested_str_weak(color),
    /* K10  */  be_nested_str_weak(scale),
    /* K11  */  be_nested_str_weak(speed),
    /* K12  */  be_nested_str_weak(octaves),
    }),
    be_str_weak(noise_rainbow),
    &be_const_str_solidified,
    ( &(const binstruction[23]) {  /* code */
      0xB8060000,  //  0000  GETNGBL	R1	K0
      0x8C040301,  //  0001  GETMET	R1	R1	K1
      0x5C0C0000,  //  0002  MOVE	R3	R0
      0x7C040400,  //  0003  CALL	R1	2
      0xB80A0000,  //  0004  GETNGBL	R2	K0
      0x8C080502,  //  0005  GETMET	R2	R2	K2
      0x5C100000,  //  0006  MOVE	R4	R0
      0x7C080400,  //  0007  CALL	R2	2
      0xB80E0000,  //  0008  GETNGBL	R3	K0
      0x880C0704,  //  0009  GETMBR	R3	R3	K4
      0x900A0603,  //  000A  SETMBR	R2	K3	R3
      0x540E1387,  //  000B  LDINT	R3	5000
      0x900A0A03,  //  000C  SETMBR	R2	K5	R3
      0x900A0D07,  //  000D  SETMBR	R2	K6	K7
      0x540E00FE,  //  000E  LDINT	R3	255
      0x900A1003,  //  000F  SETMBR	R2	K8	R3
      0x90061202,  //  0010  SETMBR	R1	K9	R2
      0x540E0031,  //  0011  LDINT	R3	50
      0x90061403,  //  0012  SETMBR	R1	K10	R3
      0x540E001D,  //  0013  LDINT	R3	30
      0x90061603,  //  0014  SETMBR	R1	K11	R3
      0x90061907,  //  0015  SETMBR	R1	K12	K7
      0x80040200,  //  0016  RET	1	R1
    })
  )
);
/*******************************************************************/


/********************************************************************
** Solidified function: twinkle_solid
********************************************************************/
be_local_closure(twinkle_solid,   /* name */
  be_nested_proto(
    4,                          /* nstack */
    1,                          /* argc */
    0,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    0,                          /* has sup protos */
    NULL,                       /* no sub protos */
    1,                          /* has constants */
    ( &(const bvalue[ 9]) {     /* constants */
    /* K0   */  be_nested_str_weak(animation),
    /* K1   */  be_nested_str_weak(twinkle_animation),
    /* K2   */  be_nested_str_weak(color),
    /* K3   */  be_const_int(-16744193),
    /* K4   */  be_nested_str_weak(density),
    /* K5   */  be_nested_str_weak(twinkle_speed),
    /* K6   */  be_nested_str_weak(fade_speed),
    /* K7   */  be_nested_str_weak(min_brightness),
    /* K8   */  be_nested_str_weak(max_brightness),
    }),
    be_str_weak(twinkle_solid),
    &be_const_str_solidified,
    ( &(const binstruction[16]) {  /* code */
      0xB8060000,  //  0000  GETNGBL	R1	K0
      0x8C040301,  //  0001  GETMET	R1	R1	K1
      0x5C0C0000,  //  0002  MOVE	R3	R0
      0x7C040400,  //  0003  CALL	R1	2
      0x90060503,  //  0004  SETMBR	R1	K2	K3
      0x540A0063,  //  0005  LDINT	R2	100
      0x90060802,  //  0006  SETMBR	R1	K4	R2
      0x540A0005,  //  0007  LDINT	R2	6
      0x90060A02,  //  0008  SETMBR	R1	K5	R2
      0x540A00B3,  //  0009  LDINT	R2	180
      0x90060C02,  //  000A  SETMBR	R1	K6	R2
      0x540A001F,  //  000B  LDINT	R2	32
      0x90060E02,  //  000C  SETMBR	R1	K7	R2
      0x540A00FE,  //  000D  LDINT	R2	255
      0x90061002,  //  000E  SETMBR	R1	K8	R2
      0x80040200,  //  000F  RET	1	R1
    })
  )
);
/*******************************************************************/

// compact class 'CompositeColorProvider' ktab size: 16, total: 28 (saved 96 bytes)
static const bvalue be_ktab_class_CompositeColorProvider[16] = {
  /* K0   */  be_nested_str_weak(providers),
  /* K1   */  be_nested_str_weak(push),
  /* K2   */  be_const_int(0),
  /* K3   */  be_const_int(1),
  /* K4   */  be_nested_str_weak(get_color_for_value),
  /* K5   */  be_nested_str_weak(brightness),
  /* K6   */  be_nested_str_weak(apply_brightness),
  /* K7   */  be_nested_str_weak(_blend_colors),
  /* K8   */  be_nested_str_weak(produce_value),
  /* K9   */  be_nested_str_weak(CompositeColorProvider_X28providers_X3D_X25s_X2C_X20blend_mode_X3D_X25s_X29),
  /* K10  */  be_nested_str_weak(blend_mode),
  /* K11  */  be_const_real_hex(0x437F0000),
  /* K12  */  be_const_int(2),
  /* K13  */  be_nested_str_weak(tasmota),
  /* K14  */  be_nested_str_weak(scale_uint),
  /* K15  */  be_nested_str_weak(init),
};


extern const bclass be_class_CompositeColorProvider;

/********************************************************************
** Solidified function: add_provider
********************************************************************/
be_local_closure(class_CompositeColorProvider_add_provider,   /* name */
  be_nested_proto(
    5,                          /* nstack */
    2,                          /* argc */
    10,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    0,                          /* has sup protos */
    NULL,                       /* no sub protos */
    1,                          /* has constants */
    &be_ktab_class_CompositeColorProvider,     /* shared constants */
    be_str_weak(add_provider),
    &be_const_str_solidified,
    ( &(const binstruction[ 5]) {  /* code */
      0x88080100,  //  0000  GETMBR	R2	R0	K0
      0x8C080501,  //  0001  GETMET	R2	R2	K1
      0x5C100200,  //  0002  MOVE	R4	R1
      0x7C080400,  //  0003  CALL	R2	2
      0x80040000,  //  0004  RET	1	R0
    })
  )
);
/*******************************************************************/


/********************************************************************
** Solidified function: get_color_for_value
********************************************************************/
be_local_closure(class_CompositeColorProvider_get_color_for_value,   /* name */
  be_nested_proto(
    10,                          /* nstack */
    3,                          /* argc */
    10,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    0,                          /* has sup protos */
    NULL,                       /* no sub protos */
    1,                          /* has constants */
    &be_ktab_class_CompositeColorProvider,     /* shared constants */
    be_str_weak(get_color_for_value),
    &be_const_str_solidified,
    ( &(const binstruction[63]) {  /* code */
      0x600C000C,  //  0000  GETGBL	R3	G12
      0x88100100,  //  0001  GETMBR	R4	R0	K0
      0x7C0C0200,  //  0002  CALL	R3	1
      0x1C0C0702,  //  0003  EQ	R3	R3	K2
      0x780E0001,  //  0004  JMPF	R3	#0007
      0x540DFFFE,  //  0005  LDINT	R3	-1
      0x80040600,  //  0006  RET	1	R3
      0x600C000C,  //  0007  GETGBL	R3	G12
      0x88100100,  //  0008  GETMBR	R4	R0	K0
      0x7C0C0200,  //  0009  CALL	R3	1
      0x1C0C0703,  //  000A  EQ	R3	R3	K3
      0x780E000F,  //  000B  JMPF	R3	#001C
      0x880C0100,  //  000C  GETMBR	R3	R0	K0
      0x940C0702,  //  000D  GETIDX	R3	R3	K2
      0x8C0C0704,  //  000E  GETMET	R3	R3	K4
      0x5C140200,  //  000F  MOVE	R5	R1
      0x5C180400,  //  0010  MOVE	R6	R2
      0x7C0C0600,  //  0011  CALL	R3	3
      0x88100105,  //  0012  GETMBR	R4	R0	K5
      0x541600FE,  //  0013  LDINT	R5	255
      0x20140805,  //  0014  NE	R5	R4	R5
      0x78160004,  //  0015  JMPF	R5	#001B
      0x8C140106,  //  0016  GETMET	R5	R0	K6
      0x5C1C0600,  //  0017  MOVE	R7	R3
      0x5C200800,  //  0018  MOVE	R8	R4
      0x7C140600,  //  0019  CALL	R5	3
      0x80040A00,  //  001A  RET	1	R5
      0x80040600,  //  001B  RET	1	R3
      0x880C0100,  //  001C  GETMBR	R3	R0	K0
      0x940C0702,  //  001D  GETIDX	R3	R3	K2
      0x8C0C0704,  //  001E  GETMET	R3	R3	K4
      0x5C140200,  //  001F  MOVE	R5	R1
      0x5C180400,  //  0020  MOVE	R6	R2
      0x7C0C0600,  //  0021  CALL	R3	3
      0x58100003,  //  0022  LDCONST	R4	K3
      0x6014000C,  //  0023  GETGBL	R5	G12
      0x88180100,  //  0024  GETMBR	R6	R0	K0
      0x7C140200,  //  0025  CALL	R5	1
      0x14140805,  //  0026  LT	R5	R4	R5
      0x7816000C,  //  0027  JMPF	R5	#0035
      0x88140100,  //  0028  GETMBR	R5	R0	K0
      0x94140A04,  //  0029  GETIDX	R5	R5	R4
      0x8C140B04,  //  002A  GETMET	R5	R5	K4
      0x5C1C0200,  //  002B  MOVE	R7	R1
      0x5C200400,  //  002C  MOVE	R8	R2
      0x7C140600,  //  002D  CALL	R5	3
      0x8C180107,  //  002E  GETMET	R6	R0	K7
      0x5C200600,  //  002F  MOVE	R8	R3
      0x5C240A00,  //  0030  MOVE	R9	R5
      0x7C180600,  //  0031  CALL	R6	3
      0x5C0C0C00,  //  0032  MOVE	R3	R6
      0x00100903,  //  0033  ADD	R4	R4	K3
      0x7001FFED,  //  0034  JMP		#0023
      0x88140105,  //  0035  GETMBR	R5	R0	K5
      0x541A00FE,  //  0036  LDINT	R6	255
      0x20180A06,  //  0037  NE	R6	R5	R6
      0x781A0004,  //  0038  JMPF	R6	#003E
      0x8C180106,  //  0039  GETMET	R6	R0	K6
      0x5C200600,  //  003A  MOVE	R8	R3
      0x5C240A00,  //  003B  MOVE	R9	R5
      0x7C180600,  //  003C  CALL	R6	3
      0x80040C00,  //  003D  RET	1	R6
      0x80040600,  //  003E  RET	1	R3
    })
  )
);
/*******************************************************************/


/********************************************************************
** Solidified function: produce_value
********************************************************************/
be_local_closure(class_CompositeColorProvider_produce_value,   /* name */
  be_nested_proto(
    10,                          /* nstack */
    3,                          /* argc */
    10,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    0,                          /* has sup protos */
    NULL,                       /* no sub protos */
    1,                          /* has constants */
    &be_ktab_class_CompositeColorProvider,     /* shared constants */
    be_str_weak(produce_value),
    &be_const_str_solidified,
    ( &(const binstruction[63]) {  /* code */
      0x600C000C,  //  0000  GETGBL	R3	G12
      0x88100100,  //  0001  GETMBR	R4	R0	K0
      0x7C0C0200,  //  0002  CALL	R3	1
      0x1C0C0702,  //  0003  EQ	R3	R3	K2
      0x780E0001,  //  0004  JMPF	R3	#0007
      0x540DFFFE,  //  0005  LDINT	R3	-1
      0x80040600,  //  0006  RET	1	R3
      0x600C000C,  //  0007  GETGBL	R3	G12
      0x88100100,  //  0008  GETMBR	R4	R0	K0
      0x7C0C0200,  //  0009  CALL	R3	1
      0x1C0C0703,  //  000A  EQ	R3	R3	K3
      0x780E000F,  //  000B  JMPF	R3	#001C
      0x880C0100,  //  000C  GETMBR	R3	R0	K0
      0x940C0702,  //  000D  GETIDX	R3	R3	K2
      0x8C0C0708,  //  000E  GETMET	R3	R3	K8
      0x5C140200,  //  000F  MOVE	R5	R1
      0x5C180400,  //  0010  MOVE	R6	R2
      0x7C0C0600,  //  0011  CALL	R3	3
      0x88100105,  //  0012  GETMBR	R4	R0	K5
      0x541600FE,  //  0013  LDINT	R5	255
      0x20140805,  //  0014  NE	R5	R4	R5
      0x78160004,  //  0015  JMPF	R5	#001B
      0x8C140106,  //  0016  GETMET	R5	R0	K6
      0x5C1C0600,  //  0017  MOVE	R7	R3
      0x5C200800,  //  0018  MOVE	R8	R4
      0x7C140600,  //  0019  CALL	R5	3
      0x80040A00,  //  001A  RET	1	R5
      0x80040600,  //  001B  RET	1	R3
      0x880C0100,  //  001C  GETMBR	R3	R0	K0
      0x940C0702,  //  001D  GETIDX	R3	R3	K2
      0x8C0C0708,  //  001E  GETMET	R3	R3	K8
      0x5C140200,  //  001F  MOVE	R5	R1
      0x5C180400,  //  0020  MOVE	R6	R2
      0x7C0C0600,  //  0021  CALL	R3	3
      0x58100003,  //  0022  LDCONST	R4	K3
      0x6014000C,  //  0023  GETGBL	R5	G12
      0x88180100,  //  0024  GETMBR	R6	R0	K0
      0x7C140200,  //  0025  CALL	R5	1
      0x14140805,  //  0026  LT	R5	R4	R5
      0x7816000C,  //  0027  JMPF	R5	#0035
      0x88140100,  //  0028  GETMBR	R5	R0	K0
      0x94140A04,  //  0029  GETIDX	R5	R5	R4
      0x8C140B08,  //  002A  GETMET	R5	R5	K8
      0x5C1C0200,  //  002B  MOVE	R7	R1
      0x5C200400,  //  002C  MOVE	R8	R2
      0x7C140600,  //  002D  CALL	R5	3
      0x8C180107,  //  002E  GETMET	R6	R0	K7
      0x5C200600,  //  002F  MOVE	R8	R3
      0x5C240A00,  //  0030  MOVE	R9	R5
      0x7C180600,  //  0031  CALL	R6	3
      0x5C0C0C00,  //  0032  MOVE	R3	R6
      0x00100903,  //  0033  ADD	R4	R4	K3
      0x7001FFED,  //  0034  JMP		#0023
      0x88140105,  //  0035  GETMBR	R5	R0	K5
      0x541A00FE,  //  0036  LDINT	R6	255
      0x20180A06,  //  0037  NE	R6	R5	R6
      0x781A0004,  //  0038  JMPF	R6	#003E
      0x8C180106,  //  0039  GETMET	R6	R0	K6
      0x5C200600,  //  003A  MOVE	R8	R3
      0x5C240A00,  //  003B  MOVE	R9	R5
      0x7C180600,  //  003C  CALL	R6	3
      0x80040C00,  //  003D  RET	1	R6
      0x80040600,  //  003E  RET	1	R3
    })
  )
);
/*******************************************************************/


/********************************************************************
** Solidified function: tostring
********************************************************************/
be_local_closure(class_CompositeColorProvider_tostring,   /* name */
  be_nested_proto(
    5,                          /* nstack */
    1,                          /* argc */
    10,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    0,                          /* has sup protos */
    NULL,                       /* no sub protos */
    1,                          /* has constants */
    &be_ktab_class_CompositeColorProvider,     /* shared constants */
    be_str_weak(tostring),
    &be_const_str_solidified,
    ( &(const binstruction[ 8]) {  /* code */
      0x60040018,  //  0000  GETGBL	R1	G24
      0x58080009,  //  0001  LDCONST	R2	K9
      0x600C000C,  //  0002  GETGBL	R3	G12
      0x88100100,  //  0003  GETMBR	R4	R0	K0
      0x7C0C0200,  //  0004  CALL	R3	1
      0x8810010A,  //  0005  GETMBR	R4	R0	K10
      0x7C040600,  //  0006  CALL	R1	3
      0x80040200,  //  0007  RET	1	R1
    })
  )
);
/*******************************************************************/


/********************************************************************
** Solidified function: _blend_colors
********************************************************************/
be_local_closure(class_CompositeColorProvider__blend_colors,   /* name */
  be_nested_proto(
    23,                          /* nstack */
    3,                          /* argc */
    10,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    0,                          /* has sup protos */
    NULL,                       /* no sub protos */
    1,                          /* has constants */
    &be_ktab_class_CompositeColorProvider,     /* shared constants */
    be_str_weak(_blend_colors),
    &be_const_str_solidified,
    ( &(const binstruction[151]) {  /* code */
      0x880C010A,  //  0000  GETMBR	R3	R0	K10
      0x54120017,  //  0001  LDINT	R4	24
      0x3C100204,  //  0002  SHR	R4	R1	R4
      0x541600FE,  //  0003  LDINT	R5	255
      0x2C100805,  //  0004  AND	R4	R4	R5
      0x5416000F,  //  0005  LDINT	R5	16
      0x3C140205,  //  0006  SHR	R5	R1	R5
      0x541A00FE,  //  0007  LDINT	R6	255
      0x2C140A06,  //  0008  AND	R5	R5	R6
      0x541A0007,  //  0009  LDINT	R6	8
      0x3C180206,  //  000A  SHR	R6	R1	R6
      0x541E00FE,  //  000B  LDINT	R7	255
      0x2C180C07,  //  000C  AND	R6	R6	R7
      0x541E00FE,  //  000D  LDINT	R7	255
      0x2C1C0207,  //  000E  AND	R7	R1	R7
      0x54220017,  //  000F  LDINT	R8	24
      0x3C200408,  //  0010  SHR	R8	R2	R8
      0x542600FE,  //  0011  LDINT	R9	255
      0x2C201009,  //  0012  AND	R8	R8	R9
      0x5426000F,  //  0013  LDINT	R9	16
      0x3C240409,  //  0014  SHR	R9	R2	R9
      0x542A00FE,  //  0015  LDINT	R10	255
      0x2C24120A,  //  0016  AND	R9	R9	R10
      0x542A0007,  //  0017  LDINT	R10	8
      0x3C28040A,  //  0018  SHR	R10	R2	R10
      0x542E00FE,  //  0019  LDINT	R11	255
      0x2C28140B,  //  001A  AND	R10	R10	R11
      0x542E00FE,  //  001B  LDINT	R11	255
      0x2C2C040B,  //  001C  AND	R11	R2	R11
      0x4C300000,  //  001D  LDNIL	R12
      0x4C340000,  //  001E  LDNIL	R13
      0x4C380000,  //  001F  LDNIL	R14
      0x4C3C0000,  //  0020  LDNIL	R15
      0x1C400702,  //  0021  EQ	R16	R3	K2
      0x7842001C,  //  0022  JMPF	R16	#0040
      0x0C40110B,  //  0023  DIV	R16	R8	K11
      0x60440009,  //  0024  GETGBL	R17	G9
      0x044A0610,  //  0025  SUB	R18	K3	R16
      0x08480E12,  //  0026  MUL	R18	R7	R18
      0x084C1610,  //  0027  MUL	R19	R11	R16
      0x00482413,  //  0028  ADD	R18	R18	R19
      0x7C440200,  //  0029  CALL	R17	1
      0x5C342200,  //  002A  MOVE	R13	R17
      0x60440009,  //  002B  GETGBL	R17	G9
      0x044A0610,  //  002C  SUB	R18	K3	R16
      0x08480C12,  //  002D  MUL	R18	R6	R18
      0x084C1410,  //  002E  MUL	R19	R10	R16
      0x00482413,  //  002F  ADD	R18	R18	R19
      0x7C440200,  //  0030  CALL	R17	1
      0x5C382200,  //  0031  MOVE	R14	R17
      0x60440009,  //  0032  GETGBL	R17	G9
      0x044A0610,  //  0033  SUB	R18	K3	R16
      0x08480A12,  //  0034  MUL	R18	R5	R18
      0x084C1210,  //  0035  MUL	R19	R9	R16
      0x00482413,  //  0036  ADD	R18	R18	R19
      0x7C440200,  //  0037  CALL	R17	1
      0x5C3C2200,  //  0038  MOVE	R15	R17
      0x24440808,  //  0039  GT	R17	R4	R8
      0x78460001,  //  003A  JMPF	R17	#003D
      0x5C440800,  //  003B  MOVE	R17	R4
      0x70020000,  //  003C  JMP		#003E
      0x5C441000,  //  003D  MOVE	R17	R8
      0x5C302200,  //  003E  MOVE	R12	R17
      0x7002004C,  //  003F  JMP		#008D
      0x1C400703,  //  0040  EQ	R16	R3	K3
      0x78420021,  //  0041  JMPF	R16	#0064
      0x00400E0B,  //  0042  ADD	R16	R7	R11
      0x5C342000,  //  0043  MOVE	R13	R16
      0x00400C0A,  //  0044  ADD	R16	R6	R10
      0x5C382000,  //  0045  MOVE	R14	R16
      0x00400A09,  //  0046  ADD	R16	R5	R9
      0x5C3C2000,  //  0047  MOVE	R15	R16
      0x24400808,  //  0048  GT	R16	R4	R8
      0x78420001,  //  0049  JMPF	R16	#004C
      0x5C400800,  //  004A  MOVE	R16	R4
      0x70020000,  //  004B  JMP		#004D
      0x5C401000,  //  004C  MOVE	R16	R8
      0x5C302000,  //  004D  MOVE	R12	R16
      0x544200FE,  //  004E  LDINT	R16	255
      0x24401A10,  //  004F  GT	R16	R13	R16
      0x78420001,  //  0050  JMPF	R16	#0053
      0x544200FE,  //  0051  LDINT	R16	255
      0x70020000,  //  0052  JMP		#0054
      0x5C401A00,  //  0053  MOVE	R16	R13
      0x5C342000,  //  0054  MOVE	R13	R16
      0x544200FE,  //  0055  LDINT	R16	255
      0x24401C10,  //  0056  GT	R16	R14	R16
      0x78420001,  //  0057  JMPF	R16	#005A
      0x544200FE,  //  0058  LDINT	R16	255
      0x70020000,  //  0059  JMP		#005B
      0x5C401C00,  //  005A  MOVE	R16	R14
      0x5C382000,  //  005B  MOVE	R14	R16
      0x544200FE,  //  005C  LDINT	R16	255
      0x24401E10,  //  005D  GT	R16	R15	R16
      0x78420001,  //  005E  JMPF	R16	#0061
      0x544200FE,  //  005F  LDINT	R16	255
      0x70020000,  //  0060  JMP		#0062
      0x5C401E00,  //  0061  MOVE	R16	R15
      0x5C3C2000,  //  0062  MOVE	R15	R16
      0x70020028,  //  0063  JMP		#008D
      0x1C40070C,  //  0064  EQ	R16	R3	K12
      0x78420026,  //  0065  JMPF	R16	#008D
      0xB8421A00,  //  0066  GETNGBL	R16	K13
      0x8C40210E,  //  0067  GETMET	R16	R16	K14
      0x08480E0B,  //  0068  MUL	R18	R7	R11
      0x584C0002,  //  0069  LDCONST	R19	K2
      0x545200FE,  //  006A  LDINT	R20	255
      0x545600FE,  //  006B  LDINT	R21	255
      0x08502815,  //  006C  MUL	R20	R20	R21
      0x58540002,  //  006D  LDCONST	R21	K2
      0x545A00FE,  //  006E  LDINT	R22	255
      0x7C400C00,  //  006F  CALL	R16	6
      0x5C342000,  //  0070  MOVE	R13	R16
      0xB8421A00,  //  0071  GETNGBL	R16	K13
      0x8C40210E,  //  0072  GETMET	R16	R16	K14
      0x08480C0A,  //  0073  MUL	R18	R6	R10
      0x584C0002,  //  0074  LDCONST	R19	K2
      0x545200FE,  //  0075  LDINT	R20	255
      0x545600FE,  //  0076  LDINT	R21	255
      0x08502815,  //  0077  MUL	R20	R20	R21
      0x58540002,  //  0078  LDCONST	R21	K2
      0x545A00FE,  //  0079  LDINT	R22	255
      0x7C400C00,  //  007A  CALL	R16	6
      0x5C382000,  //  007B  MOVE	R14	R16
      0xB8421A00,  //  007C  GETNGBL	R16	K13
      0x8C40210E,  //  007D  GETMET	R16	R16	K14
      0x08480A09,  //  007E  MUL	R18	R5	R9
      0x584C0002,  //  007F  LDCONST	R19	K2
      0x545200FE,  //  0080  LDINT	R20	255
      0x545600FE,  //  0081  LDINT	R21	255
      0x08502815,  //  0082  MUL	R20	R20	R21
      0x58540002,  //  0083  LDCONST	R21	K2
      0x545A00FE,  //  0084  LDINT	R22	255
      0x7C400C00,  //  0085  CALL	R16	6
      0x5C3C2000,  //  0086  MOVE	R15	R16
      0x24400808,  //  0087  GT	R16	R4	R8
      0x78420001,  //  0088  JMPF	R16	#008B
      0x5C400800,  //  0089  MOVE	R16	R4
      0x70020000,  //  008A  JMP		#008C
      0x5C401000,  //  008B  MOVE	R16	R8
      0x5C302000,  //  008C  MOVE	R12	R16
      0x54420017,  //  008D  LDINT	R16	24
      0x38401810,  //  008E  SHL	R16	R12	R16
      0x5446000F,  //  008F  LDINT	R17	16
      0x38441E11,  //  0090  SHL	R17	R15	R17
      0x30402011,  //  0091  OR	R16	R16	R17
      0x54460007,  //  0092  LDINT	R17	8
      0x38441C11,  //  0093  SHL	R17	R14	R17
      0x30402011,  //  0094  OR	R16	R16	R17
      0x3040200D,  //  0095  OR	R16	R16	R13
      0x80042000,  //  0096  RET	1	R16
    })
  )
);
/*******************************************************************/


/********************************************************************
** Solidified function: init
********************************************************************/
be_local_closure(class_CompositeColorProvider_init,   /* name */
  be_nested_proto(
    5,                          /* nstack */
    2,                          /* argc */
    10,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    0,                          /* has sup protos */
    NULL,                       /* no sub protos */
    1,                          /* has constants */
    &be_ktab_class_CompositeColorProvider,     /* shared constants */
    be_str_weak(init),
    &be_const_str_solidified,
    ( &(const binstruction[10]) {  /* code */
      0x60080003,  //  0000  GETGBL	R2	G3
      0x5C0C0000,  //  0001  MOVE	R3	R0
      0x7C080200,  //  0002  CALL	R2	1
      0x8C08050F,  //  0003  GETMET	R2	R2	K15
      0x5C100200,  //  0004  MOVE	R4	R1
      0x7C080400,  //  0005  CALL	R2	2
      0x60080012,  //  0006  GETGBL	R2	G18
      0x7C080000,  //  0007  CALL	R2	0
      0x90020002,  //  0008  SETMBR	R0	K0	R2
      0x80000000,  //  0009  RET	0
    })
  )
);
/*******************************************************************/


/********************************************************************
** Solidified class: CompositeColorProvider
********************************************************************/
extern const bclass be_class_ColorProvider;
be_local_class(CompositeColorProvider,
    1,
    &be_class_ColorProvider,
    be_nested_map(8,
    ( (struct bmapnode*) &(const bmapnode[]) {
        { be_const_key_weak(add_provider, -1), be_const_closure(class_CompositeColorProvider_add_provider_closure) },
        { be_const_key_weak(get_color_for_value, 7), be_const_closure(class_CompositeColorProvider_get_color_for_value_closure) },
        { be_const_key_weak(init, -1), be_const_closure(class_CompositeColorProvider_init_closure) },
        { be_const_key_weak(PARAMS, 2), be_const_simple_instance(be_nested_simple_instance(&be_class_map, {
        be_const_map( *     be_nested_map(1,
    ( (struct bmapnode*) &(const bmapnode[]) {
        { be_const_key_weak(blend_mode, -1), be_const_bytes_instance(14000003000000010002) },
    }))    ) } )) },
        { be_const_key_weak(tostring, -1), be_const_closure(class_CompositeColorProvider_tostring_closure) },
        { be_const_key_weak(providers, 4), be_const_var(0) },
        { be_const_key_weak(_blend_colors, -1), be_const_closure(class_CompositeColorProvider__blend_colors_closure) },
        { be_const_key_weak(produce_value, -1), be_const_closure(class_CompositeColorProvider_produce_value_closure) },
    })),
    be_str_weak(CompositeColorProvider)
);
// compact class 'EventManager' ktab size: 30, total: 61 (saved 248 bytes)
static const bvalue be_ktab_class_EventManager[30] = {
  /* K0   */  be_nested_str_weak(event_name),
  /* K1   */  be_nested_str_weak(_X2A),
  /* K2   */  be_nested_str_weak(global_handlers),
  /* K3   */  be_nested_str_weak(find),
  /* K4   */  be_nested_str_weak(remove),
  /* K5   */  be_nested_str_weak(handlers),
  /* K6   */  be_nested_str_weak(set_active),
  /* K7   */  be_nested_str_weak(stop_iteration),
  /* K8   */  be_nested_str_weak(push),
  /* K9   */  be_nested_str_weak(get_info),
  /* K10  */  be_nested_str_weak(keys),
  /* K11  */  be_nested_str_weak(event_queue),
  /* K12  */  be_nested_str_weak(is_processing),
  /* K13  */  be_nested_str_weak(clear),
  /* K14  */  be_const_int(1),
  /* K15  */  be_const_int(0),
  /* K16  */  be_nested_str_weak(priority),
  /* K17  */  be_nested_str_weak(animation),
  /* K18  */  be_nested_str_weak(event_handler),
  /* K19  */  be_nested_str_weak(_sort_handlers),
  /* K20  */  be_nested_str_weak(contains),
  /* K21  */  be_nested_str_weak(name),
  /* K22  */  be_nested_str_weak(data),
  /* K23  */  be_nested_str_weak(is_active),
  /* K24  */  be_nested_str_weak(execute),
  /* K25  */  be_nested_str_weak(Event_X20processing_X20error_X3A),
  /* K26  */  be_nested_str_weak(_process_queued_events),
  /* K27  */  be_nested_str_weak(size),
  /* K28  */  be_nested_str_weak(pop),
  /* K29  */  be_nested_str_weak(trigger_event),
};


extern const bclass be_class_EventManager;

/********************************************************************
** Solidified function: unregister_handler
********************************************************************/
be_local_closure(class_EventManager_unregister_handler,   /* name */
  be_nested_proto(
    7,                          /* nstack */
    2,                          /* argc */
    10,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    0,                          /* has sup protos */
    NULL,                       /* no sub protos */
    1,                          /* has constants */
    &be_ktab_class_EventManager,     /* shared constants */
    be_str_weak(unregister_handler),
    &be_const_str_solidified,
    ( &(const binstruction[32]) {  /* code */
      0x88080300,  //  0000  GETMBR	R2	R1	K0
      0x1C080501,  //  0001  EQ	R2	R2	K1
      0x780A000B,  //  0002  JMPF	R2	#000F
      0x88080102,  //  0003  GETMBR	R2	R0	K2
      0x8C080503,  //  0004  GETMET	R2	R2	K3
      0x5C100200,  //  0005  MOVE	R4	R1
      0x7C080400,  //  0006  CALL	R2	2
      0x4C0C0000,  //  0007  LDNIL	R3
      0x200C0403,  //  0008  NE	R3	R2	R3
      0x780E0003,  //  0009  JMPF	R3	#000E
      0x880C0102,  //  000A  GETMBR	R3	R0	K2
      0x8C0C0704,  //  000B  GETMET	R3	R3	K4
      0x5C140400,  //  000C  MOVE	R5	R2
      0x7C0C0400,  //  000D  CALL	R3	2
      0x7002000F,  //  000E  JMP		#001F
      0x88080105,  //  000F  GETMBR	R2	R0	K5
      0x8C080503,  //  0010  GETMET	R2	R2	K3
      0x88100300,  //  0011  GETMBR	R4	R1	K0
      0x7C080400,  //  0012  CALL	R2	2
      0x4C0C0000,  //  0013  LDNIL	R3
      0x200C0403,  //  0014  NE	R3	R2	R3
      0x780E0008,  //  0015  JMPF	R3	#001F
      0x8C0C0503,  //  0016  GETMET	R3	R2	K3
      0x5C140200,  //  0017  MOVE	R5	R1
      0x7C0C0400,  //  0018  CALL	R3	2
      0x4C100000,  //  0019  LDNIL	R4
      0x20100604,  //  001A  NE	R4	R3	R4
      0x78120002,  //  001B  JMPF	R4	#001F
      0x8C100504,  //  001C  GETMET	R4	R2	K4
      0x5C180600,  //  001D  MOVE	R6	R3
      0x7C100400,  //  001E  CALL	R4	2
      0x80000000,  //  001F  RET	0
    })
  )
);
/*******************************************************************/


/********************************************************************
** Solidified function: set_event_active
********************************************************************/
be_local_closure(class_EventManager_set_event_active,   /* name */
  be_nested_proto(
    9,                          /* nstack */
    3,                          /* argc */
    10,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    0,                          /* has sup protos */
    NULL,                       /* no sub protos */
    1,                          /* has constants */
    &be_ktab_class_EventManager,     /* shared constants */
    be_str_weak(set_event_active),
    &be_const_str_solidified,
    ( &(const binstruction[21]) {  /* code */
      0x880C0105,  //  0000  GETMBR	R3	R0	K5
      0x8C0C0703,  //  0001  GETMET	R3	R3	K3
      0x5C140200,  //  0002  MOVE	R5	R1
      0x7C0C0400,  //  0003  CALL	R3	2
      0x4C100000,  //  0004  LDNIL	R4
      0x20100604,  //  0005  NE	R4	R3	R4
      0x7812000C,  //  0006  JMPF	R4	#0014
      0x60100010,  //  0007  GETGBL	R4	G16
      0x5C140600,  //  0008  MOVE	R5	R3
      0x7C100200,  //  0009  CALL	R4	1
      0xA8020005,  //  000A  EXBLK	0	#0011
      0x5C140800,  //  000B  MOVE	R5	R4
      0x7C140000,  //  000C  CALL	R5	0
      0x8C180B06,  //  000D  GETMET	R6	R5	K6
      0x5C200400,  //  000E  MOVE	R8	R2
      0x7C180400,  //  000F  CALL	R6	2
      0x7001FFF9,  //  0010  JMP		#000B
      0x58100007,  //  0011  LDCONST	R4	K7
      0xAC100200,  //  0012  CATCH	R4	1	0
      0xB0080000,  //  0013  RAISE	2	R0	R0
      0x80000000,  //  0014  RET	0
    })
  )
);
/*******************************************************************/


/********************************************************************
** Solidified function: get_handlers
********************************************************************/
be_local_closure(class_EventManager_get_handlers,   /* name */
  be_nested_proto(
    10,                          /* nstack */
    2,                          /* argc */
    10,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    0,                          /* has sup protos */
    NULL,                       /* no sub protos */
    1,                          /* has constants */
    &be_ktab_class_EventManager,     /* shared constants */
    be_str_weak(get_handlers),
    &be_const_str_solidified,
    ( &(const binstruction[38]) {  /* code */
      0x60080012,  //  0000  GETGBL	R2	G18
      0x7C080000,  //  0001  CALL	R2	0
      0x600C0010,  //  0002  GETGBL	R3	G16
      0x88100102,  //  0003  GETMBR	R4	R0	K2
      0x7C0C0200,  //  0004  CALL	R3	1
      0xA8020006,  //  0005  EXBLK	0	#000D
      0x5C100600,  //  0006  MOVE	R4	R3
      0x7C100000,  //  0007  CALL	R4	0
      0x8C140508,  //  0008  GETMET	R5	R2	K8
      0x8C1C0909,  //  0009  GETMET	R7	R4	K9
      0x7C1C0200,  //  000A  CALL	R7	1
      0x7C140400,  //  000B  CALL	R5	2
      0x7001FFF8,  //  000C  JMP		#0006
      0x580C0007,  //  000D  LDCONST	R3	K7
      0xAC0C0200,  //  000E  CATCH	R3	1	0
      0xB0080000,  //  000F  RAISE	2	R0	R0
      0x880C0105,  //  0010  GETMBR	R3	R0	K5
      0x8C0C0703,  //  0011  GETMET	R3	R3	K3
      0x5C140200,  //  0012  MOVE	R5	R1
      0x7C0C0400,  //  0013  CALL	R3	2
      0x4C100000,  //  0014  LDNIL	R4
      0x20100604,  //  0015  NE	R4	R3	R4
      0x7812000D,  //  0016  JMPF	R4	#0025
      0x60100010,  //  0017  GETGBL	R4	G16
      0x5C140600,  //  0018  MOVE	R5	R3
      0x7C100200,  //  0019  CALL	R4	1
      0xA8020006,  //  001A  EXBLK	0	#0022
      0x5C140800,  //  001B  MOVE	R5	R4
      0x7C140000,  //  001C  CALL	R5	0
      0x8C180508,  //  001D  GETMET	R6	R2	K8
      0x8C200B09,  //  001E  GETMET	R8	R5	K9
      0x7C200200,  //  001F  CALL	R8	1
      0x7C180400,  //  0020  CALL	R6	2
      0x7001FFF8,  //  0021  JMP		#001B
      0x58100007,  //  0022  LDCONST	R4	K7
      0xAC100200,  //  0023  CATCH	R4	1	0
      0xB0080000,  //  0024  RAISE	2	R0	R0
      0x80040400,  //  0025  RET	1	R2
    })
  )
);
/*******************************************************************/


/********************************************************************
** Solidified function: get_registered_events
********************************************************************/
be_local_closure(class_EventManager_get_registered_events,   /* name */
  be_nested_proto(
    7,                          /* nstack */
    1,                          /* argc */
    10,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    0,                          /* has sup protos */
    NULL,                       /* no sub protos */
    1,                          /* has constants */
    &be_ktab_class_EventManager,     /* shared constants */
    be_str_weak(get_registered_events),
    &be_const_str_solidified,
    ( &(const binstruction[18]) {  /* code */
      0x60040012,  //  0000  GETGBL	R1	G18
      0x7C040000,  //  0001  CALL	R1	0
      0x60080010,  //  0002  GETGBL	R2	G16
      0x880C0105,  //  0003  GETMBR	R3	R0	K5
      0x8C0C070A,  //  0004  GETMET	R3	R3	K10
      0x7C0C0200,  //  0005  CALL	R3	1
      0x7C080200,  //  0006  CALL	R2	1
      0xA8020005,  //  0007  EXBLK	0	#000E
      0x5C0C0400,  //  0008  MOVE	R3	R2
      0x7C0C0000,  //  0009  CALL	R3	0
      0x8C100308,  //  000A  GETMET	R4	R1	K8
      0x5C180600,  //  000B  MOVE	R6	R3
      0x7C100400,  //  000C  CALL	R4	2
      0x7001FFF9,  //  000D  JMP		#0008
      0x58080007,  //  000E  LDCONST	R2	K7
      0xAC080200,  //  000F  CATCH	R2	1	0
      0xB0080000,  //  0010  RAISE	2	R0	R0
      0x80040200,  //  0011  RET	1	R1
    })
  )
);
/*******************************************************************/


/********************************************************************
** Solidified function: init
********************************************************************/
be_local_closure(class_EventManager_init,   /* name */
  be_nested_proto(
    2,                          /* nstack */
    1,                          /* argc */
    10,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    0,                          /* has sup protos */
    NULL,                       /* no sub protos */
    1,                          /* has constants */
    &be_ktab_class_EventManager,     /* shared constants */
    be_str_weak(init),
    &be_const_str_solidified,
    ( &(const binstruction[12]) {  /* code */
      0x60040013,  //  0000  GETGBL	R1	G19
      0x7C040000,  //  0001  CALL	R1	0
      0x90020A01,  //  0002  SETMBR	R0	K5	R1
      0x60040012,  //  0003  GETGBL	R1	G18
      0x7C040000,  //  0004  CALL	R1	0
      0x90020401,  //  0005  SETMBR	R0	K2	R1
      0x60040012,  //  0006  GETGBL	R1	G18
      0x7C040000,  //  0007  CALL	R1	0
      0x90021601,  //  0008  SETMBR	R0	K11	R1
      0x50040000,  //  0009  LDBOOL	R1	0	0
      0x90021801,  //  000A  SETMBR	R0	K12	R1
      0x80000000,  //  000B  RET	0
    })
  )
);
/*******************************************************************/


/********************************************************************
** Solidified function: clear_all_handlers
********************************************************************/
be_local_closure(class_EventManager_clear_all_handlers,   /* name */
  be_nested_proto(
    3,                          /* nstack */
    1,                          /* argc */
    10,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    0,                          /* has sup protos */
    NULL,                       /* no sub protos */
    1,                          /* has constants */
    &be_ktab_class_EventManager,     /* shared constants */
    be_str_weak(clear_all_handlers),
    &be_const_str_solidified,
    ( &(const binstruction[10]) {  /* code */
      0x88040105,  //  0000  GETMBR	R1	R0	K5
      0x8C04030D,  //  0001  GETMET	R1	R1	K13
      0x7C040200,  //  0002  CALL	R1	1
      0x88040102,  //  0003  GETMBR	R1	R0	K2
      0x8C04030D,  //  0004  GETMET	R1	R1	K13
      0x7C040200,  //  0005  CALL	R1	1
      0x8804010B,  //  0006  GETMBR	R1	R0	K11
      0x8C04030D,  //  0007  GETMET	R1	R1	K13
      0x7C040200,  //  0008  CALL	R1	1
      0x80000000,  //  0009  RET	0
    })
  )
);
/*******************************************************************/


/********************************************************************
** Solidified function: _sort_handlers
********************************************************************/
be_local_closure(class_EventManager__sort_handlers,   /* name */
  be_nested_proto(
    8,                          /* nstack */
    2,                          /* argc */
    10,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    0,                          /* has sup protos */
    NULL,                       /* no sub protos */
    1,                          /* has constants */
    &be_ktab_class_EventManager,     /* shared constants */
    be_str_weak(_sort_handlers),
    &be_const_str_solidified,
    ( &(const binstruction[31]) {  /* code */
      0x60080010,  //  0000  GETGBL	R2	G16
      0x600C000C,  //  0001  GETGBL	R3	G12
      0x5C100200,  //  0002  MOVE	R4	R1
      0x7C0C0200,  //  0003  CALL	R3	1
      0x040C070E,  //  0004  SUB	R3	R3	K14
      0x400E1C03,  //  0005  CONNECT	R3	K14	R3
      0x7C080200,  //  0006  CALL	R2	1
      0xA8020012,  //  0007  EXBLK	0	#001B
      0x5C0C0400,  //  0008  MOVE	R3	R2
      0x7C0C0000,  //  0009  CALL	R3	0
      0x94100203,  //  000A  GETIDX	R4	R1	R3
      0x5C140600,  //  000B  MOVE	R5	R3
      0x24180B0F,  //  000C  GT	R6	R5	K15
      0x781A000A,  //  000D  JMPF	R6	#0019
      0x04180B0E,  //  000E  SUB	R6	R5	K14
      0x94180206,  //  000F  GETIDX	R6	R1	R6
      0x88180D10,  //  0010  GETMBR	R6	R6	K16
      0x881C0910,  //  0011  GETMBR	R7	R4	K16
      0x14180C07,  //  0012  LT	R6	R6	R7
      0x781A0004,  //  0013  JMPF	R6	#0019
      0x04180B0E,  //  0014  SUB	R6	R5	K14
      0x94180206,  //  0015  GETIDX	R6	R1	R6
      0x98040A06,  //  0016  SETIDX	R1	R5	R6
      0x04140B0E,  //  0017  SUB	R5	R5	K14
      0x7001FFF2,  //  0018  JMP		#000C
      0x98040A04,  //  0019  SETIDX	R1	R5	R4
      0x7001FFEC,  //  001A  JMP		#0008
      0x58080007,  //  001B  LDCONST	R2	K7
      0xAC080200,  //  001C  CATCH	R2	1	0
      0xB0080000,  //  001D  RAISE	2	R0	R0
      0x80000000,  //  001E  RET	0
    })
  )
);
/*******************************************************************/


/********************************************************************
** Solidified function: register_handler
********************************************************************/
be_local_closure(class_EventManager_register_handler,   /* name */
  be_nested_proto(
    13,                          /* nstack */
    6,                          /* argc */
    10,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    0,                          /* has sup protos */
    NULL,                       /* no sub protos */
    1,                          /* has constants */
    &be_ktab_class_EventManager,     /* shared constants */
    be_str_weak(register_handler),
    &be_const_str_solidified,
    ( &(const binstruction[37]) {  /* code */
      0xB81A2200,  //  0000  GETNGBL	R6	K17
      0x8C180D12,  //  0001  GETMET	R6	R6	K18
      0x5C200200,  //  0002  MOVE	R8	R1
      0x5C240400,  //  0003  MOVE	R9	R2
      0x5C280600,  //  0004  MOVE	R10	R3
      0x5C2C0800,  //  0005  MOVE	R11	R4
      0x5C300A00,  //  0006  MOVE	R12	R5
      0x7C180C00,  //  0007  CALL	R6	6
      0x1C1C0301,  //  0008  EQ	R7	R1	K1
      0x781E0007,  //  0009  JMPF	R7	#0012
      0x881C0102,  //  000A  GETMBR	R7	R0	K2
      0x8C1C0F08,  //  000B  GETMET	R7	R7	K8
      0x5C240C00,  //  000C  MOVE	R9	R6
      0x7C1C0400,  //  000D  CALL	R7	2
      0x8C1C0113,  //  000E  GETMET	R7	R0	K19
      0x88240102,  //  000F  GETMBR	R9	R0	K2
      0x7C1C0400,  //  0010  CALL	R7	2
      0x70020011,  //  0011  JMP		#0024
      0x881C0105,  //  0012  GETMBR	R7	R0	K5
      0x8C1C0F14,  //  0013  GETMET	R7	R7	K20
      0x5C240200,  //  0014  MOVE	R9	R1
      0x7C1C0400,  //  0015  CALL	R7	2
      0x741E0003,  //  0016  JMPT	R7	#001B
      0x881C0105,  //  0017  GETMBR	R7	R0	K5
      0x60200012,  //  0018  GETGBL	R8	G18
      0x7C200000,  //  0019  CALL	R8	0
      0x981C0208,  //  001A  SETIDX	R7	R1	R8
      0x881C0105,  //  001B  GETMBR	R7	R0	K5
      0x941C0E01,  //  001C  GETIDX	R7	R7	R1
      0x8C1C0F08,  //  001D  GETMET	R7	R7	K8
      0x5C240C00,  //  001E  MOVE	R9	R6
      0x7C1C0400,  //  001F  CALL	R7	2
      0x8C1C0113,  //  0020  GETMET	R7	R0	K19
      0x88240105,  //  0021  GETMBR	R9	R0	K5
      0x94241201,  //  0022  GETIDX	R9	R9	R1
      0x7C1C0400,  //  0023  CALL	R7	2
      0x80040C00,  //  0024  RET	1	R6
    })
  )
);
/*******************************************************************/


/********************************************************************
** Solidified function: trigger_event
********************************************************************/
be_local_closure(class_EventManager_trigger_event,   /* name */
  be_nested_proto(
    9,                          /* nstack */
    3,                          /* argc */
    10,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    0,                          /* has sup protos */
    NULL,                       /* no sub protos */
    1,                          /* has constants */
    &be_ktab_class_EventManager,     /* shared constants */
    be_str_weak(trigger_event),
    &be_const_str_solidified,
    ( &(const binstruction[69]) {  /* code */
      0x880C010C,  //  0000  GETMBR	R3	R0	K12
      0x780E0007,  //  0001  JMPF	R3	#000A
      0x880C010B,  //  0002  GETMBR	R3	R0	K11
      0x8C0C0708,  //  0003  GETMET	R3	R3	K8
      0x60140013,  //  0004  GETGBL	R5	G19
      0x7C140000,  //  0005  CALL	R5	0
      0x98162A01,  //  0006  SETIDX	R5	K21	R1
      0x98162C02,  //  0007  SETIDX	R5	K22	R2
      0x7C0C0400,  //  0008  CALL	R3	2
      0x80000600,  //  0009  RET	0
      0x500C0200,  //  000A  LDBOOL	R3	1	0
      0x90021803,  //  000B  SETMBR	R0	K12	R3
      0xA8020029,  //  000C  EXBLK	0	#0037
      0x600C0010,  //  000D  GETGBL	R3	G16
      0x88100102,  //  000E  GETMBR	R4	R0	K2
      0x7C0C0200,  //  000F  CALL	R3	1
      0xA802000A,  //  0010  EXBLK	0	#001C
      0x5C100600,  //  0011  MOVE	R4	R3
      0x7C100000,  //  0012  CALL	R4	0
      0x88140917,  //  0013  GETMBR	R5	R4	K23
      0x78160005,  //  0014  JMPF	R5	#001B
      0x8C140918,  //  0015  GETMET	R5	R4	K24
      0x601C0013,  //  0016  GETGBL	R7	G19
      0x7C1C0000,  //  0017  CALL	R7	0
      0x981E0001,  //  0018  SETIDX	R7	K0	R1
      0x981E2C02,  //  0019  SETIDX	R7	K22	R2
      0x7C140400,  //  001A  CALL	R5	2
      0x7001FFF4,  //  001B  JMP		#0011
      0x580C0007,  //  001C  LDCONST	R3	K7
      0xAC0C0200,  //  001D  CATCH	R3	1	0
      0xB0080000,  //  001E  RAISE	2	R0	R0
      0x880C0105,  //  001F  GETMBR	R3	R0	K5
      0x8C0C0703,  //  0020  GETMET	R3	R3	K3
      0x5C140200,  //  0021  MOVE	R5	R1
      0x7C0C0400,  //  0022  CALL	R3	2
      0x4C100000,  //  0023  LDNIL	R4
      0x20100604,  //  0024  NE	R4	R3	R4
      0x7812000E,  //  0025  JMPF	R4	#0035
      0x60100010,  //  0026  GETGBL	R4	G16
      0x5C140600,  //  0027  MOVE	R5	R3
      0x7C100200,  //  0028  CALL	R4	1
      0xA8020007,  //  0029  EXBLK	0	#0032
      0x5C140800,  //  002A  MOVE	R5	R4
      0x7C140000,  //  002B  CALL	R5	0
      0x88180B17,  //  002C  GETMBR	R6	R5	K23
      0x781A0002,  //  002D  JMPF	R6	#0031
      0x8C180B18,  //  002E  GETMET	R6	R5	K24
      0x5C200400,  //  002F  MOVE	R8	R2
      0x7C180400,  //  0030  CALL	R6	2
      0x7001FFF7,  //  0031  JMP		#002A
      0x58100007,  //  0032  LDCONST	R4	K7
      0xAC100200,  //  0033  CATCH	R4	1	0
      0xB0080000,  //  0034  RAISE	2	R0	R0
      0xA8040001,  //  0035  EXBLK	1	1
      0x70020008,  //  0036  JMP		#0040
      0xAC0C0002,  //  0037  CATCH	R3	0	2
      0x70020005,  //  0038  JMP		#003F
      0x60140001,  //  0039  GETGBL	R5	G1
      0x58180019,  //  003A  LDCONST	R6	K25
      0x5C1C0600,  //  003B  MOVE	R7	R3
      0x5C200800,  //  003C  MOVE	R8	R4
      0x7C140600,  //  003D  CALL	R5	3
      0x70020000,  //  003E  JMP		#0040
      0xB0080000,  //  003F  RAISE	2	R0	R0
      0x500C0000,  //  0040  LDBOOL	R3	0	0
      0x90021803,  //  0041  SETMBR	R0	K12	R3
      0x8C0C011A,  //  0042  GETMET	R3	R0	K26
      0x7C0C0200,  //  0043  CALL	R3	1
      0x80000000,  //  0044  RET	0
    })
  )
);
/*******************************************************************/


/********************************************************************
** Solidified function: _process_queued_events
********************************************************************/
be_local_closure(class_EventManager__process_queued_events,   /* name */
  be_nested_proto(
    6,                          /* nstack */
    1,                          /* argc */
    10,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    0,                          /* has sup protos */
    NULL,                       /* no sub protos */
    1,                          /* has constants */
    &be_ktab_class_EventManager,     /* shared constants */
    be_str_weak(_process_queued_events),
    &be_const_str_solidified,
    ( &(const binstruction[15]) {  /* code */
      0x8804010B,  //  0000  GETMBR	R1	R0	K11
      0x8C04031B,  //  0001  GETMET	R1	R1	K27
      0x7C040200,  //  0002  CALL	R1	1
      0x2404030F,  //  0003  GT	R1	R1	K15
      0x78060008,  //  0004  JMPF	R1	#000E
      0x8804010B,  //  0005  GETMBR	R1	R0	K11
      0x8C04031C,  //  0006  GETMET	R1	R1	K28
      0x580C000F,  //  0007  LDCONST	R3	K15
      0x7C040400,  //  0008  CALL	R1	2
      0x8C08011D,  //  0009  GETMET	R2	R0	K29
      0x94100315,  //  000A  GETIDX	R4	R1	K21
      0x94140316,  //  000B  GETIDX	R5	R1	K22
      0x7C080600,  //  000C  CALL	R2	3
      0x7001FFF1,  //  000D  JMP		#0000
      0x80000000,  //  000E  RET	0
    })
  )
);
/*******************************************************************/


/********************************************************************
** Solidified class: EventManager
********************************************************************/
be_local_class(EventManager,
    4,
    NULL,
    be_nested_map(14,
    ( (struct bmapnode*) &(const bmapnode[]) {
        { be_const_key_weak(unregister_handler, -1), be_const_closure(class_EventManager_unregister_handler_closure) },
        { be_const_key_weak(set_event_active, -1), be_const_closure(class_EventManager_set_event_active_closure) },
        { be_const_key_weak(handlers, -1), be_const_var(0) },
        { be_const_key_weak(init, -1), be_const_closure(class_EventManager_init_closure) },
        { be_const_key_weak(trigger_event, -1), be_const_closure(class_EventManager_trigger_event_closure) },
        { be_const_key_weak(get_handlers, 3), be_const_closure(class_EventManager_get_handlers_closure) },
        { be_const_key_weak(clear_all_handlers, -1), be_const_closure(class_EventManager_clear_all_handlers_closure) },
        { be_const_key_weak(event_queue, -1), be_const_var(2) },
        { be_const_key_weak(_sort_handlers, -1), be_const_closure(class_EventManager__sort_handlers_closure) },
        { be_const_key_weak(is_processing, 7), be_const_var(3) },
        { be_const_key_weak(global_handlers, -1), be_const_var(1) },
        { be_const_key_weak(register_handler, -1), be_const_closure(class_EventManager_register_handler_closure) },
        { be_const_key_weak(get_registered_events, 4), be_const_closure(class_EventManager_get_registered_events_closure) },
        { be_const_key_weak(_process_queued_events, -1), be_const_closure(class_EventManager__process_queued_events_closure) },
    })),
    be_str_weak(EventManager)
);

/********************************************************************
** Solidified function: twinkle_intense
********************************************************************/
be_local_closure(twinkle_intense,   /* name */
  be_nested_proto(
    4,                          /* nstack */
    1,                          /* argc */
    0,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    0,                          /* has sup protos */
    NULL,                       /* no sub protos */
    1,                          /* has constants */
    ( &(const bvalue[ 8]) {     /* constants */
    /* K0   */  be_nested_str_weak(animation),
    /* K1   */  be_nested_str_weak(twinkle_animation),
    /* K2   */  be_nested_str_weak(color),
    /* K3   */  be_nested_str_weak(density),
    /* K4   */  be_nested_str_weak(twinkle_speed),
    /* K5   */  be_nested_str_weak(fade_speed),
    /* K6   */  be_nested_str_weak(min_brightness),
    /* K7   */  be_nested_str_weak(max_brightness),
    }),
    be_str_weak(twinkle_intense),
    &be_const_str_solidified,
    ( &(const binstruction[17]) {  /* code */
      0xB8060000,  //  0000  GETNGBL	R1	K0
      0x8C040301,  //  0001  GETMET	R1	R1	K1
      0x5C0C0000,  //  0002  MOVE	R3	R0
      0x7C040400,  //  0003  CALL	R1	2
      0x5408FFFF,  //  0004  LDINT	R2	-65536
      0x90060402,  //  0005  SETMBR	R1	K2	R2
      0x540A00C7,  //  0006  LDINT	R2	200
      0x90060602,  //  0007  SETMBR	R1	K3	R2
      0x540A000B,  //  0008  LDINT	R2	12
      0x90060802,  //  0009  SETMBR	R1	K4	R2
      0x540A00DB,  //  000A  LDINT	R2	220
      0x90060A02,  //  000B  SETMBR	R1	K5	R2
      0x540A003F,  //  000C  LDINT	R2	64
      0x90060C02,  //  000D  SETMBR	R1	K6	R2
      0x540A00FE,  //  000E  LDINT	R2	255
      0x90060E02,  //  000F  SETMBR	R1	K7	R2
      0x80040200,  //  0010  RET	1	R1
    })
  )
);
/*******************************************************************/


/********************************************************************
** Solidified function: wave_single_sine
********************************************************************/
be_local_closure(wave_single_sine,   /* name */
  be_nested_proto(
    4,                          /* nstack */
    1,                          /* argc */
    0,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    0,                          /* has sup protos */
    NULL,                       /* no sub protos */
    1,                          /* has constants */
    ( &(const bvalue[ 7]) {     /* constants */
    /* K0   */  be_nested_str_weak(animation),
    /* K1   */  be_nested_str_weak(wave_animation),
    /* K2   */  be_nested_str_weak(color),
    /* K3   */  be_nested_str_weak(wave_type),
    /* K4   */  be_const_int(0),
    /* K5   */  be_nested_str_weak(frequency),
    /* K6   */  be_nested_str_weak(wave_speed),
    }),
    be_str_weak(wave_single_sine),
    &be_const_str_solidified,
    ( &(const binstruction[12]) {  /* code */
      0xB8060000,  //  0000  GETNGBL	R1	K0
      0x8C040301,  //  0001  GETMET	R1	R1	K1
      0x5C0C0000,  //  0002  MOVE	R3	R0
      0x7C040400,  //  0003  CALL	R1	2
      0x5408FFFF,  //  0004  LDINT	R2	-65536
      0x90060402,  //  0005  SETMBR	R1	K2	R2
      0x90060704,  //  0006  SETMBR	R1	K3	K4
      0x540A001F,  //  0007  LDINT	R2	32
      0x90060A02,  //  0008  SETMBR	R1	K5	R2
      0x540A0031,  //  0009  LDINT	R2	50
      0x90060C02,  //  000A  SETMBR	R1	K6	R2
      0x80040200,  //  000B  RET	1	R1
    })
  )
);
/*******************************************************************/


/********************************************************************
** Solidified function: gradient_two_color_linear
********************************************************************/
be_local_closure(gradient_two_color_linear,   /* name */
  be_nested_proto(
    4,                          /* nstack */
    1,                          /* argc */
    0,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    0,                          /* has sup protos */
    NULL,                       /* no sub protos */
    1,                          /* has constants */
    ( &(const bvalue[ 7]) {     /* constants */
    /* K0   */  be_nested_str_weak(animation),
    /* K1   */  be_nested_str_weak(gradient_animation),
    /* K2   */  be_nested_str_weak(color),
    /* K3   */  be_nested_str_weak(gradient_type),
    /* K4   */  be_const_int(0),
    /* K5   */  be_nested_str_weak(direction),
    /* K6   */  be_nested_str_weak(movement_speed),
    }),
    be_str_weak(gradient_two_color_linear),
    &be_const_str_solidified,
    ( &(const binstruction[10]) {  /* code */
      0xB8060000,  //  0000  GETNGBL	R1	K0
      0x8C040301,  //  0001  GETMET	R1	R1	K1
      0x5C0C0000,  //  0002  MOVE	R3	R0
      0x7C040400,  //  0003  CALL	R1	2
      0x5408FFFF,  //  0004  LDINT	R2	-65536
      0x90060402,  //  0005  SETMBR	R1	K2	R2
      0x90060704,  //  0006  SETMBR	R1	K3	K4
      0x90060B04,  //  0007  SETMBR	R1	K5	K4
      0x90060D04,  //  0008  SETMBR	R1	K6	K4
      0x80040200,  //  0009  RET	1	R1
    })
  )
);
/*******************************************************************/

// compact class 'CometAnimation' ktab size: 24, total: 42 (saved 144 bytes)
static const bvalue be_ktab_class_CometAnimation[24] = {
  /* K0   */  be_nested_str_weak(speed),
  /* K1   */  be_nested_str_weak(direction),
  /* K2   */  be_nested_str_weak(wrap_around),
  /* K3   */  be_nested_str_weak(engine),
  /* K4   */  be_nested_str_weak(strip_length),
  /* K5   */  be_nested_str_weak(start_time),
  /* K6   */  be_const_int(0),
  /* K7   */  be_nested_str_weak(head_position),
  /* K8   */  be_const_int(1),
  /* K9   */  be_nested_str_weak(init),
  /* K10  */  be_nested_str_weak(animation),
  /* K11  */  be_nested_str_weak(is_value_provider),
  /* K12  */  be_nested_str_weak(color),
  /* K13  */  be_nested_str_weak(0x_X2508x),
  /* K14  */  be_nested_str_weak(CometAnimation_X28color_X3D_X25s_X2C_X20head_pos_X3D_X25_X2E1f_X2C_X20tail_length_X3D_X25s_X2C_X20speed_X3D_X25s_X2C_X20direction_X3D_X25s_X2C_X20priority_X3D_X25s_X2C_X20running_X3D_X25s_X29),
  /* K15  */  be_nested_str_weak(tail_length),
  /* K16  */  be_nested_str_weak(priority),
  /* K17  */  be_nested_str_weak(is_running),
  /* K18  */  be_nested_str_weak(fade_factor),
  /* K19  */  be_nested_str_weak(tasmota),
  /* K20  */  be_nested_str_weak(scale_uint),
  /* K21  */  be_nested_str_weak(width),
  /* K22  */  be_nested_str_weak(set_pixel_color),
  /* K23  */  be_nested_str_weak(on_param_changed),
};


extern const bclass be_class_CometAnimation;

/********************************************************************
** Solidified function: update
********************************************************************/
be_local_closure(class_CometAnimation_update,   /* name */
  be_nested_proto(
    11,                          /* nstack */
    2,                          /* argc */
    10,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    0,                          /* has sup protos */
    NULL,                       /* no sub protos */
    1,                          /* has constants */
    &be_ktab_class_CometAnimation,     /* shared constants */
    be_str_weak(update),
    &be_const_str_solidified,
    ( &(const binstruction[56]) {  /* code */
      0x88080100,  //  0000  GETMBR	R2	R0	K0
      0x880C0101,  //  0001  GETMBR	R3	R0	K1
      0x88100102,  //  0002  GETMBR	R4	R0	K2
      0x88140103,  //  0003  GETMBR	R5	R0	K3
      0x88140B04,  //  0004  GETMBR	R5	R5	K4
      0x88180105,  //  0005  GETMBR	R6	R0	K5
      0x04180206,  //  0006  SUB	R6	R1	R6
      0x081C0406,  //  0007  MUL	R7	R2	R6
      0x081C0E03,  //  0008  MUL	R7	R7	R3
      0x542203E7,  //  0009  LDINT	R8	1000
      0x0C1C0E08,  //  000A  DIV	R7	R7	R8
      0x24200706,  //  000B  GT	R8	R3	K6
      0x78220001,  //  000C  JMPF	R8	#000F
      0x90020E07,  //  000D  SETMBR	R0	K7	R7
      0x70020004,  //  000E  JMP		#0014
      0x04200B08,  //  000F  SUB	R8	R5	K8
      0x542600FF,  //  0010  LDINT	R9	256
      0x08201009,  //  0011  MUL	R8	R8	R9
      0x00201007,  //  0012  ADD	R8	R8	R7
      0x90020E08,  //  0013  SETMBR	R0	K7	R8
      0x542200FF,  //  0014  LDINT	R8	256
      0x08200A08,  //  0015  MUL	R8	R5	R8
      0x20240906,  //  0016  NE	R9	R4	K6
      0x7826000E,  //  0017  JMPF	R9	#0027
      0x88240107,  //  0018  GETMBR	R9	R0	K7
      0x28241208,  //  0019  GE	R9	R9	R8
      0x78260003,  //  001A  JMPF	R9	#001F
      0x88240107,  //  001B  GETMBR	R9	R0	K7
      0x04241208,  //  001C  SUB	R9	R9	R8
      0x90020E09,  //  001D  SETMBR	R0	K7	R9
      0x7001FFF8,  //  001E  JMP		#0018
      0x88240107,  //  001F  GETMBR	R9	R0	K7
      0x14241306,  //  0020  LT	R9	R9	K6
      0x78260003,  //  0021  JMPF	R9	#0026
      0x88240107,  //  0022  GETMBR	R9	R0	K7
      0x00241208,  //  0023  ADD	R9	R9	R8
      0x90020E09,  //  0024  SETMBR	R0	K7	R9
      0x7001FFF8,  //  0025  JMP		#001F
      0x7002000F,  //  0026  JMP		#0037
      0x88240107,  //  0027  GETMBR	R9	R0	K7
      0x28241208,  //  0028  GE	R9	R9	R8
      0x78260006,  //  0029  JMPF	R9	#0031
      0x04240B08,  //  002A  SUB	R9	R5	K8
      0x542A00FF,  //  002B  LDINT	R10	256
      0x0824120A,  //  002C  MUL	R9	R9	R10
      0x90020E09,  //  002D  SETMBR	R0	K7	R9
      0x44240600,  //  002E  NEG	R9	R3
      0x90020209,  //  002F  SETMBR	R0	K1	R9
      0x70020005,  //  0030  JMP		#0037
      0x88240107,  //  0031  GETMBR	R9	R0	K7
      0x14241306,  //  0032  LT	R9	R9	K6
      0x78260002,  //  0033  JMPF	R9	#0037
      0x90020F06,  //  0034  SETMBR	R0	K7	K6
      0x44240600,  //  0035  NEG	R9	R3
      0x90020209,  //  0036  SETMBR	R0	K1	R9
      0x80000000,  //  0037  RET	0
    })
  )
);
/*******************************************************************/


/********************************************************************
** Solidified function: init
********************************************************************/
be_local_closure(class_CometAnimation_init,   /* name */
  be_nested_proto(
    5,                          /* nstack */
    2,                          /* argc */
    10,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    0,                          /* has sup protos */
    NULL,                       /* no sub protos */
    1,                          /* has constants */
    &be_ktab_class_CometAnimation,     /* shared constants */
    be_str_weak(init),
    &be_const_str_solidified,
    ( &(const binstruction[ 8]) {  /* code */
      0x60080003,  //  0000  GETGBL	R2	G3
      0x5C0C0000,  //  0001  MOVE	R3	R0
      0x7C080200,  //  0002  CALL	R2	1
      0x8C080509,  //  0003  GETMET	R2	R2	K9
      0x5C100200,  //  0004  MOVE	R4	R1
      0x7C080400,  //  0005  CALL	R2	2
      0x90020F06,  //  0006  SETMBR	R0	K7	K6
      0x80000000,  //  0007  RET	0
    })
  )
);
/*******************************************************************/


/********************************************************************
** Solidified function: tostring
********************************************************************/
be_local_closure(class_CometAnimation_tostring,   /* name */
  be_nested_proto(
    11,                          /* nstack */
    1,                          /* argc */
    10,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    0,                          /* has sup protos */
    NULL,                       /* no sub protos */
    1,                          /* has constants */
    &be_ktab_class_CometAnimation,     /* shared constants */
    be_str_weak(tostring),
    &be_const_str_solidified,
    ( &(const binstruction[29]) {  /* code */
      0x4C040000,  //  0000  LDNIL	R1
      0xB80A1400,  //  0001  GETNGBL	R2	K10
      0x8C08050B,  //  0002  GETMET	R2	R2	K11
      0x8810010C,  //  0003  GETMBR	R4	R0	K12
      0x7C080400,  //  0004  CALL	R2	2
      0x780A0004,  //  0005  JMPF	R2	#000B
      0x60080008,  //  0006  GETGBL	R2	G8
      0x880C010C,  //  0007  GETMBR	R3	R0	K12
      0x7C080200,  //  0008  CALL	R2	1
      0x5C040400,  //  0009  MOVE	R1	R2
      0x70020004,  //  000A  JMP		#0010
      0x60080018,  //  000B  GETGBL	R2	G24
      0x580C000D,  //  000C  LDCONST	R3	K13
      0x8810010C,  //  000D  GETMBR	R4	R0	K12
      0x7C080400,  //  000E  CALL	R2	2
      0x5C040400,  //  000F  MOVE	R1	R2
      0x60080018,  //  0010  GETGBL	R2	G24
      0x580C000E,  //  0011  LDCONST	R3	K14
      0x5C100200,  //  0012  MOVE	R4	R1
      0x88140107,  //  0013  GETMBR	R5	R0	K7
      0x541A00FF,  //  0014  LDINT	R6	256
      0x0C140A06,  //  0015  DIV	R5	R5	R6
      0x8818010F,  //  0016  GETMBR	R6	R0	K15
      0x881C0100,  //  0017  GETMBR	R7	R0	K0
      0x88200101,  //  0018  GETMBR	R8	R0	K1
      0x88240110,  //  0019  GETMBR	R9	R0	K16
      0x88280111,  //  001A  GETMBR	R10	R0	K17
      0x7C081000,  //  001B  CALL	R2	8
      0x80040400,  //  001C  RET	1	R2
    })
  )
);
/*******************************************************************/


/********************************************************************
** Solidified function: render
********************************************************************/
be_local_closure(class_CometAnimation_render,   /* name */
  be_nested_proto(
    25,                          /* nstack */
    4,                          /* argc */
    10,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    0,                          /* has sup protos */
    NULL,                       /* no sub protos */
    1,                          /* has constants */
    &be_ktab_class_CometAnimation,     /* shared constants */
    be_str_weak(render),
    &be_const_str_solidified,
    ( &(const binstruction[83]) {  /* code */
      0x88100107,  //  0000  GETMBR	R4	R0	K7
      0x541600FF,  //  0001  LDINT	R5	256
      0x0C100805,  //  0002  DIV	R4	R4	R5
      0x8814010C,  //  0003  GETMBR	R5	R0	K12
      0x8818010F,  //  0004  GETMBR	R6	R0	K15
      0x881C0101,  //  0005  GETMBR	R7	R0	K1
      0x88200102,  //  0006  GETMBR	R8	R0	K2
      0x88240112,  //  0007  GETMBR	R9	R0	K18
      0x542A0017,  //  0008  LDINT	R10	24
      0x3C280A0A,  //  0009  SHR	R10	R5	R10
      0x542E00FE,  //  000A  LDINT	R11	255
      0x2C28140B,  //  000B  AND	R10	R10	R11
      0x542E000F,  //  000C  LDINT	R11	16
      0x3C2C0A0B,  //  000D  SHR	R11	R5	R11
      0x543200FE,  //  000E  LDINT	R12	255
      0x2C2C160C,  //  000F  AND	R11	R11	R12
      0x54320007,  //  0010  LDINT	R12	8
      0x3C300A0C,  //  0011  SHR	R12	R5	R12
      0x543600FE,  //  0012  LDINT	R13	255
      0x2C30180D,  //  0013  AND	R12	R12	R13
      0x543600FE,  //  0014  LDINT	R13	255
      0x2C340A0D,  //  0015  AND	R13	R5	R13
      0x58380006,  //  0016  LDCONST	R14	K6
      0x143C1C06,  //  0017  LT	R15	R14	R6
      0x783E0037,  //  0018  JMPF	R15	#0051
      0x083C1C07,  //  0019  MUL	R15	R14	R7
      0x043C080F,  //  001A  SUB	R15	R4	R15
      0x20401106,  //  001B  NE	R16	R8	K6
      0x78420008,  //  001C  JMPF	R16	#0026
      0x28401E03,  //  001D  GE	R16	R15	R3
      0x78420001,  //  001E  JMPF	R16	#0021
      0x043C1E03,  //  001F  SUB	R15	R15	R3
      0x7001FFFB,  //  0020  JMP		#001D
      0x14401F06,  //  0021  LT	R16	R15	K6
      0x78420001,  //  0022  JMPF	R16	#0025
      0x003C1E03,  //  0023  ADD	R15	R15	R3
      0x7001FFFB,  //  0024  JMP		#0021
      0x70020005,  //  0025  JMP		#002C
      0x14401F06,  //  0026  LT	R16	R15	K6
      0x74420001,  //  0027  JMPT	R16	#002A
      0x28401E03,  //  0028  GE	R16	R15	R3
      0x78420001,  //  0029  JMPF	R16	#002C
      0x00381D08,  //  002A  ADD	R14	R14	K8
      0x7001FFEA,  //  002B  JMP		#0017
      0x544200FE,  //  002C  LDINT	R16	255
      0x24441D06,  //  002D  GT	R17	R14	K6
      0x7846000D,  //  002E  JMPF	R17	#003D
      0x58440006,  //  002F  LDCONST	R17	K6
      0x1448220E,  //  0030  LT	R18	R17	R14
      0x784A000A,  //  0031  JMPF	R18	#003D
      0xB84A2600,  //  0032  GETNGBL	R18	K19
      0x8C482514,  //  0033  GETMET	R18	R18	K20
      0x5C502000,  //  0034  MOVE	R20	R16
      0x58540006,  //  0035  LDCONST	R21	K6
      0x545A00FE,  //  0036  LDINT	R22	255
      0x585C0006,  //  0037  LDCONST	R23	K6
      0x5C601200,  //  0038  MOVE	R24	R9
      0x7C480C00,  //  0039  CALL	R18	6
      0x5C402400,  //  003A  MOVE	R16	R18
      0x00442308,  //  003B  ADD	R17	R17	K8
      0x7001FFF2,  //  003C  JMP		#0030
      0x54460017,  //  003D  LDINT	R17	24
      0x38442011,  //  003E  SHL	R17	R16	R17
      0x544A000F,  //  003F  LDINT	R18	16
      0x38481612,  //  0040  SHL	R18	R11	R18
      0x30442212,  //  0041  OR	R17	R17	R18
      0x544A0007,  //  0042  LDINT	R18	8
      0x38481812,  //  0043  SHL	R18	R12	R18
      0x30442212,  //  0044  OR	R17	R17	R18
      0x3044220D,  //  0045  OR	R17	R17	R13
      0x28481F06,  //  0046  GE	R18	R15	K6
      0x784A0006,  //  0047  JMPF	R18	#004F
      0x88480315,  //  0048  GETMBR	R18	R1	K21
      0x14481E12,  //  0049  LT	R18	R15	R18
      0x784A0003,  //  004A  JMPF	R18	#004F
      0x8C480316,  //  004B  GETMET	R18	R1	K22
      0x5C501E00,  //  004C  MOVE	R20	R15
      0x5C542200,  //  004D  MOVE	R21	R17
      0x7C480600,  //  004E  CALL	R18	3
      0x00381D08,  //  004F  ADD	R14	R14	K8
      0x7001FFC5,  //  0050  JMP		#0017
      0x503C0200,  //  0051  LDBOOL	R15	1	0
      0x80041E00,  //  0052  RET	1	R15
    })
  )
);
/*******************************************************************/


/********************************************************************
** Solidified function: on_param_changed
********************************************************************/
be_local_closure(class_CometAnimation_on_param_changed,   /* name */
  be_nested_proto(
    7,                          /* nstack */
    3,                          /* argc */
    10,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    0,                          /* has sup protos */
    NULL,                       /* no sub protos */
    1,                          /* has constants */
    &be_ktab_class_CometAnimation,     /* shared constants */
    be_str_weak(on_param_changed),
    &be_const_str_solidified,
    ( &(const binstruction[20]) {  /* code */
      0x600C0003,  //  0000  GETGBL	R3	G3
      0x5C100000,  //  0001  MOVE	R4	R0
      0x7C0C0200,  //  0002  CALL	R3	1
      0x8C0C0717,  //  0003  GETMET	R3	R3	K23
      0x5C140200,  //  0004  MOVE	R5	R1
      0x5C180400,  //  0005  MOVE	R6	R2
      0x7C0C0600,  //  0006  CALL	R3	3
      0x1C0C0301,  //  0007  EQ	R3	R1	K1
      0x780E0009,  //  0008  JMPF	R3	#0013
      0x880C0103,  //  0009  GETMBR	R3	R0	K3
      0x880C0704,  //  000A  GETMBR	R3	R3	K4
      0x24100506,  //  000B  GT	R4	R2	K6
      0x78120001,  //  000C  JMPF	R4	#000F
      0x90020F06,  //  000D  SETMBR	R0	K7	K6
      0x70020003,  //  000E  JMP		#0013
      0x04100708,  //  000F  SUB	R4	R3	K8
      0x541600FF,  //  0010  LDINT	R5	256
      0x08100805,  //  0011  MUL	R4	R4	R5
      0x90020E04,  //  0012  SETMBR	R0	K7	R4
      0x80000000,  //  0013  RET	0
    })
  )
);
/*******************************************************************/


/********************************************************************
** Solidified class: CometAnimation
********************************************************************/
extern const bclass be_class_Animation;
be_local_class(CometAnimation,
    1,
    &be_class_Animation,
    be_nested_map(7,
    ( (struct bmapnode*) &(const bmapnode[]) {
        { be_const_key_weak(init, -1), be_const_closure(class_CometAnimation_init_closure) },
        { be_const_key_weak(update, -1), be_const_closure(class_CometAnimation_update_closure) },
        { be_const_key_weak(PARAMS, 4), be_const_simple_instance(be_nested_simple_instance(&be_class_map, {
        be_const_map( *     be_nested_map(5,
    ( (struct bmapnode*) &(const bmapnode[]) {
        { be_const_key_weak(fade_factor, -1), be_const_bytes_instance(07000001FF0001B300) },
        { be_const_key_weak(wrap_around, -1), be_const_bytes_instance(07000000010001) },
        { be_const_key_weak(direction, -1), be_const_bytes_instance(1400010200FF0001) },
        { be_const_key_weak(speed, 0), be_const_bytes_instance(07000101006401000A) },
        { be_const_key_weak(tail_length, -1), be_const_bytes_instance(07000100320005) },
    }))    ) } )) },
        { be_const_key_weak(tostring, -1), be_const_closure(class_CometAnimation_tostring_closure) },
        { be_const_key_weak(render, 0), be_const_closure(class_CometAnimation_render_closure) },
        { be_const_key_weak(head_position, 2), be_const_var(0) },
        { be_const_key_weak(on_param_changed, -1), be_const_closure(class_CometAnimation_on_param_changed_closure) },
    })),
    be_str_weak(CometAnimation)
);
// compact class 'FireAnimation' ktab size: 47, total: 73 (saved 208 bytes)
static const bvalue be_ktab_class_FireAnimation[47] = {
  /* K0   */  be_const_int(0),
  /* K1   */  be_nested_str_weak(_random),
  /* K2   */  be_nested_str_weak(width),
  /* K3   */  be_nested_str_weak(set_pixel_color),
  /* K4   */  be_nested_str_weak(current_colors),
  /* K5   */  be_nested_str_weak(get),
  /* K6   */  be_const_int(1),
  /* K7   */  be_nested_str_weak(FireAnimation_X28intensity_X3D_X25s_X2C_X20flicker_speed_X3D_X25s_X2C_X20priority_X3D_X25s_X2C_X20running_X3D_X25s_X29),
  /* K8   */  be_nested_str_weak(intensity),
  /* K9   */  be_nested_str_weak(flicker_speed),
  /* K10  */  be_nested_str_weak(priority),
  /* K11  */  be_nested_str_weak(is_running),
  /* K12  */  be_nested_str_weak(init),
  /* K13  */  be_nested_str_weak(heat_map),
  /* K14  */  be_nested_str_weak(last_update),
  /* K15  */  be_nested_str_weak(random_seed),
  /* K16  */  be_nested_str_weak(engine),
  /* K17  */  be_nested_str_weak(time_ms),
  /* K18  */  be_nested_str_weak(strip_length),
  /* K19  */  be_nested_str_weak(clear),
  /* K20  */  be_nested_str_weak(resize),
  /* K21  */  be_nested_str_weak(set),
  /* K22  */  be_const_int(-16777216),
  /* K23  */  be_nested_str_weak(_update_fire_simulation),
  /* K24  */  be_const_int(1103515245),
  /* K25  */  be_const_int(2147483647),
  /* K26  */  be_nested_str_weak(cooling_rate),
  /* K27  */  be_nested_str_weak(sparking_rate),
  /* K28  */  be_nested_str_weak(flicker_amount),
  /* K29  */  be_nested_str_weak(color),
  /* K30  */  be_nested_str_weak(size),
  /* K31  */  be_nested_str_weak(_initialize_buffers),
  /* K32  */  be_nested_str_weak(_random_range),
  /* K33  */  be_nested_str_weak(tasmota),
  /* K34  */  be_nested_str_weak(scale_uint),
  /* K35  */  be_const_int(2),
  /* K36  */  be_const_int(3),
  /* K37  */  be_nested_str_weak(animation),
  /* K38  */  be_nested_str_weak(rich_palette),
  /* K39  */  be_nested_str_weak(palette),
  /* K40  */  be_nested_str_weak(PALETTE_FIRE),
  /* K41  */  be_nested_str_weak(cycle_period),
  /* K42  */  be_nested_str_weak(transition_type),
  /* K43  */  be_nested_str_weak(brightness),
  /* K44  */  be_nested_str_weak(is_color_provider),
  /* K45  */  be_nested_str_weak(get_color_for_value),
  /* K46  */  be_nested_str_weak(start),
};


extern const bclass be_class_FireAnimation;

/********************************************************************
** Solidified function: _random_range
********************************************************************/
be_local_closure(class_FireAnimation__random_range,   /* name */
  be_nested_proto(
    4,                          /* nstack */
    2,                          /* argc */
    10,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    0,                          /* has sup protos */
    NULL,                       /* no sub protos */
    1,                          /* has constants */
    &be_ktab_class_FireAnimation,     /* shared constants */
    be_str_weak(_random_range),
    &be_const_str_solidified,
    ( &(const binstruction[ 7]) {  /* code */
      0x18080300,  //  0000  LE	R2	R1	K0
      0x780A0000,  //  0001  JMPF	R2	#0003
      0x80060000,  //  0002  RET	1	K0
      0x8C080101,  //  0003  GETMET	R2	R0	K1
      0x7C080200,  //  0004  CALL	R2	1
      0x10080401,  //  0005  MOD	R2	R2	R1
      0x80040400,  //  0006  RET	1	R2
    })
  )
);
/*******************************************************************/


/********************************************************************
** Solidified function: render
********************************************************************/
be_local_closure(class_FireAnimation_render,   /* name */
  be_nested_proto(
    12,                          /* nstack */
    4,                          /* argc */
    10,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    0,                          /* has sup protos */
    NULL,                       /* no sub protos */
    1,                          /* has constants */
    &be_ktab_class_FireAnimation,     /* shared constants */
    be_str_weak(render),
    &be_const_str_solidified,
    ( &(const binstruction[19]) {  /* code */
      0x58100000,  //  0000  LDCONST	R4	K0
      0x14140803,  //  0001  LT	R5	R4	R3
      0x7816000D,  //  0002  JMPF	R5	#0011
      0x88140302,  //  0003  GETMBR	R5	R1	K2
      0x14140805,  //  0004  LT	R5	R4	R5
      0x78160008,  //  0005  JMPF	R5	#000F
      0x8C140303,  //  0006  GETMET	R5	R1	K3
      0x5C1C0800,  //  0007  MOVE	R7	R4
      0x88200104,  //  0008  GETMBR	R8	R0	K4
      0x8C201105,  //  0009  GETMET	R8	R8	K5
      0x542A0003,  //  000A  LDINT	R10	4
      0x0828080A,  //  000B  MUL	R10	R4	R10
      0x542DFFFB,  //  000C  LDINT	R11	-4
      0x7C200600,  //  000D  CALL	R8	3
      0x7C140600,  //  000E  CALL	R5	3
      0x00100906,  //  000F  ADD	R4	R4	K6
      0x7001FFEF,  //  0010  JMP		#0001
      0x50140200,  //  0011  LDBOOL	R5	1	0
      0x80040A00,  //  0012  RET	1	R5
    })
  )
);
/*******************************************************************/


/********************************************************************
** Solidified function: tostring
********************************************************************/
be_local_closure(class_FireAnimation_tostring,   /* name */
  be_nested_proto(
    7,                          /* nstack */
    1,                          /* argc */
    10,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    0,                          /* has sup protos */
    NULL,                       /* no sub protos */
    1,                          /* has constants */
    &be_ktab_class_FireAnimation,     /* shared constants */
    be_str_weak(tostring),
    &be_const_str_solidified,
    ( &(const binstruction[ 8]) {  /* code */
      0x60040018,  //  0000  GETGBL	R1	G24
      0x58080007,  //  0001  LDCONST	R2	K7
      0x880C0108,  //  0002  GETMBR	R3	R0	K8
      0x88100109,  //  0003  GETMBR	R4	R0	K9
      0x8814010A,  //  0004  GETMBR	R5	R0	K10
      0x8818010B,  //  0005  GETMBR	R6	R0	K11
      0x7C040A00,  //  0006  CALL	R1	5
      0x80040200,  //  0007  RET	1	R1
    })
  )
);
/*******************************************************************/


/********************************************************************
** Solidified function: init
********************************************************************/
be_local_closure(class_FireAnimation_init,   /* name */
  be_nested_proto(
    5,                          /* nstack */
    2,                          /* argc */
    10,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    0,                          /* has sup protos */
    NULL,                       /* no sub protos */
    1,                          /* has constants */
    &be_ktab_class_FireAnimation,     /* shared constants */
    be_str_weak(init),
    &be_const_str_solidified,
    ( &(const binstruction[19]) {  /* code */
      0x60080003,  //  0000  GETGBL	R2	G3
      0x5C0C0000,  //  0001  MOVE	R3	R0
      0x7C080200,  //  0002  CALL	R2	1
      0x8C08050C,  //  0003  GETMET	R2	R2	K12
      0x5C100200,  //  0004  MOVE	R4	R1
      0x7C080400,  //  0005  CALL	R2	2
      0x60080015,  //  0006  GETGBL	R2	G21
      0x7C080000,  //  0007  CALL	R2	0
      0x90021A02,  //  0008  SETMBR	R0	K13	R2
      0x60080015,  //  0009  GETGBL	R2	G21
      0x7C080000,  //  000A  CALL	R2	0
      0x90020802,  //  000B  SETMBR	R0	K4	R2
      0x90021D00,  //  000C  SETMBR	R0	K14	K0
      0x88080110,  //  000D  GETMBR	R2	R0	K16
      0x88080511,  //  000E  GETMBR	R2	R2	K17
      0x540EFFFF,  //  000F  LDINT	R3	65536
      0x10080403,  //  0010  MOD	R2	R2	R3
      0x90021E02,  //  0011  SETMBR	R0	K15	R2
      0x80000000,  //  0012  RET	0
    })
  )
);
/*******************************************************************/


/********************************************************************
** Solidified function: _initialize_buffers
********************************************************************/
be_local_closure(class_FireAnimation__initialize_buffers,   /* name */
  be_nested_proto(
    8,                          /* nstack */
    1,                          /* argc */
    10,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    0,                          /* has sup protos */
    NULL,                       /* no sub protos */
    1,                          /* has constants */
    &be_ktab_class_FireAnimation,     /* shared constants */
    be_str_weak(_initialize_buffers),
    &be_const_str_solidified,
    ( &(const binstruction[30]) {  /* code */
      0x88040110,  //  0000  GETMBR	R1	R0	K16
      0x88040312,  //  0001  GETMBR	R1	R1	K18
      0x8808010D,  //  0002  GETMBR	R2	R0	K13
      0x8C080513,  //  0003  GETMET	R2	R2	K19
      0x7C080200,  //  0004  CALL	R2	1
      0x8808010D,  //  0005  GETMBR	R2	R0	K13
      0x8C080514,  //  0006  GETMET	R2	R2	K20
      0x5C100200,  //  0007  MOVE	R4	R1
      0x7C080400,  //  0008  CALL	R2	2
      0x88080104,  //  0009  GETMBR	R2	R0	K4
      0x8C080513,  //  000A  GETMET	R2	R2	K19
      0x7C080200,  //  000B  CALL	R2	1
      0x88080104,  //  000C  GETMBR	R2	R0	K4
      0x8C080514,  //  000D  GETMET	R2	R2	K20
      0x54120003,  //  000E  LDINT	R4	4
      0x08100204,  //  000F  MUL	R4	R1	R4
      0x7C080400,  //  0010  CALL	R2	2
      0x58080000,  //  0011  LDCONST	R2	K0
      0x140C0401,  //  0012  LT	R3	R2	R1
      0x780E0008,  //  0013  JMPF	R3	#001D
      0x880C0104,  //  0014  GETMBR	R3	R0	K4
      0x8C0C0715,  //  0015  GETMET	R3	R3	K21
      0x54160003,  //  0016  LDINT	R5	4
      0x08140405,  //  0017  MUL	R5	R2	R5
      0x58180016,  //  0018  LDCONST	R6	K22
      0x541DFFFB,  //  0019  LDINT	R7	-4
      0x7C0C0800,  //  001A  CALL	R3	4
      0x00080506,  //  001B  ADD	R2	R2	K6
      0x7001FFF4,  //  001C  JMP		#0012
      0x80000000,  //  001D  RET	0
    })
  )
);
/*******************************************************************/


/********************************************************************
** Solidified function: update
********************************************************************/
be_local_closure(class_FireAnimation_update,   /* name */
  be_nested_proto(
    7,                          /* nstack */
    2,                          /* argc */
    10,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    0,                          /* has sup protos */
    NULL,                       /* no sub protos */
    1,                          /* has constants */
    &be_ktab_class_FireAnimation,     /* shared constants */
    be_str_weak(update),
    &be_const_str_solidified,
    ( &(const binstruction[12]) {  /* code */
      0x88080109,  //  0000  GETMBR	R2	R0	K9
      0x540E03E7,  //  0001  LDINT	R3	1000
      0x0C0C0602,  //  0002  DIV	R3	R3	R2
      0x8810010E,  //  0003  GETMBR	R4	R0	K14
      0x04100204,  //  0004  SUB	R4	R1	R4
      0x28100803,  //  0005  GE	R4	R4	R3
      0x78120003,  //  0006  JMPF	R4	#000B
      0x90021C01,  //  0007  SETMBR	R0	K14	R1
      0x8C100117,  //  0008  GETMET	R4	R0	K23
      0x5C180200,  //  0009  MOVE	R6	R1
      0x7C100400,  //  000A  CALL	R4	2
      0x80000000,  //  000B  RET	0
    })
  )
);
/*******************************************************************/


/********************************************************************
** Solidified function: _random
********************************************************************/
be_local_closure(class_FireAnimation__random,   /* name */
  be_nested_proto(
    3,                          /* nstack */
    1,                          /* argc */
    10,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    0,                          /* has sup protos */
    NULL,                       /* no sub protos */
    1,                          /* has constants */
    &be_ktab_class_FireAnimation,     /* shared constants */
    be_str_weak(_random),
    &be_const_str_solidified,
    ( &(const binstruction[ 8]) {  /* code */
      0x8804010F,  //  0000  GETMBR	R1	R0	K15
      0x08040318,  //  0001  MUL	R1	R1	K24
      0x540A3038,  //  0002  LDINT	R2	12345
      0x00040202,  //  0003  ADD	R1	R1	R2
      0x2C040319,  //  0004  AND	R1	R1	K25
      0x90021E01,  //  0005  SETMBR	R0	K15	R1
      0x8804010F,  //  0006  GETMBR	R1	R0	K15
      0x80040200,  //  0007  RET	1	R1
    })
  )
);
/*******************************************************************/


/********************************************************************
** Solidified function: _update_fire_simulation
********************************************************************/
be_local_closure(class_FireAnimation__update_fire_simulation,   /* name */
  be_nested_proto(
    23,                          /* nstack */
    2,                          /* argc */
    10,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    0,                          /* has sup protos */
    NULL,                       /* no sub protos */
    1,                          /* has constants */
    &be_ktab_class_FireAnimation,     /* shared constants */
    be_str_weak(_update_fire_simulation),
    &be_const_str_solidified,
    ( &(const binstruction[232]) {  /* code */
      0x8808011A,  //  0000  GETMBR	R2	R0	K26
      0x880C011B,  //  0001  GETMBR	R3	R0	K27
      0x88100108,  //  0002  GETMBR	R4	R0	K8
      0x8814011C,  //  0003  GETMBR	R5	R0	K28
      0x8818011D,  //  0004  GETMBR	R6	R0	K29
      0x881C0110,  //  0005  GETMBR	R7	R0	K16
      0x881C0F12,  //  0006  GETMBR	R7	R7	K18
      0x8820010D,  //  0007  GETMBR	R8	R0	K13
      0x8C20111E,  //  0008  GETMET	R8	R8	K30
      0x7C200200,  //  0009  CALL	R8	1
      0x20201007,  //  000A  NE	R8	R8	R7
      0x74220006,  //  000B  JMPT	R8	#0013
      0x88200104,  //  000C  GETMBR	R8	R0	K4
      0x8C20111E,  //  000D  GETMET	R8	R8	K30
      0x7C200200,  //  000E  CALL	R8	1
      0x54260003,  //  000F  LDINT	R9	4
      0x08240E09,  //  0010  MUL	R9	R7	R9
      0x20201009,  //  0011  NE	R8	R8	R9
      0x78220001,  //  0012  JMPF	R8	#0015
      0x8C20011F,  //  0013  GETMET	R8	R0	K31
      0x7C200200,  //  0014  CALL	R8	1
      0x58200000,  //  0015  LDCONST	R8	K0
      0x14241007,  //  0016  LT	R9	R8	R7
      0x78260017,  //  0017  JMPF	R9	#0030
      0x8C240120,  //  0018  GETMET	R9	R0	K32
      0xB82E4200,  //  0019  GETNGBL	R11	K33
      0x8C2C1722,  //  001A  GETMET	R11	R11	K34
      0x5C340400,  //  001B  MOVE	R13	R2
      0x58380000,  //  001C  LDCONST	R14	K0
      0x543E00FE,  //  001D  LDINT	R15	255
      0x58400000,  //  001E  LDCONST	R16	K0
      0x54460009,  //  001F  LDINT	R17	10
      0x7C2C0C00,  //  0020  CALL	R11	6
      0x002C1723,  //  0021  ADD	R11	R11	K35
      0x7C240400,  //  0022  CALL	R9	2
      0x8828010D,  //  0023  GETMBR	R10	R0	K13
      0x94281408,  //  0024  GETIDX	R10	R10	R8
      0x2828120A,  //  0025  GE	R10	R9	R10
      0x782A0002,  //  0026  JMPF	R10	#002A
      0x8828010D,  //  0027  GETMBR	R10	R0	K13
      0x98281100,  //  0028  SETIDX	R10	R8	K0
      0x70020003,  //  0029  JMP		#002E
      0x8828010D,  //  002A  GETMBR	R10	R0	K13
      0x942C1408,  //  002B  GETIDX	R11	R10	R8
      0x042C1609,  //  002C  SUB	R11	R11	R9
      0x9828100B,  //  002D  SETIDX	R10	R8	R11
      0x00201106,  //  002E  ADD	R8	R8	K6
      0x7001FFE5,  //  002F  JMP		#0016
      0x28240F24,  //  0030  GE	R9	R7	K36
      0x7826001D,  //  0031  JMPF	R9	#0050
      0x04240F06,  //  0032  SUB	R9	R7	K6
      0x28281323,  //  0033  GE	R10	R9	K35
      0x782A001A,  //  0034  JMPF	R10	#0050
      0x04281306,  //  0035  SUB	R10	R9	K6
      0x882C010D,  //  0036  GETMBR	R11	R0	K13
      0x9428160A,  //  0037  GETIDX	R10	R11	R10
      0x042C1323,  //  0038  SUB	R11	R9	K35
      0x8830010D,  //  0039  GETMBR	R12	R0	K13
      0x942C180B,  //  003A  GETIDX	R11	R12	R11
      0x0028140B,  //  003B  ADD	R10	R10	R11
      0x042C1323,  //  003C  SUB	R11	R9	K35
      0x8830010D,  //  003D  GETMBR	R12	R0	K13
      0x942C180B,  //  003E  GETIDX	R11	R12	R11
      0x0028140B,  //  003F  ADD	R10	R10	R11
      0x0C281524,  //  0040  DIV	R10	R10	K36
      0x142C1500,  //  0041  LT	R11	R10	K0
      0x782E0001,  //  0042  JMPF	R11	#0045
      0x58280000,  //  0043  LDCONST	R10	K0
      0x70020003,  //  0044  JMP		#0049
      0x542E00FE,  //  0045  LDINT	R11	255
      0x242C140B,  //  0046  GT	R11	R10	R11
      0x782E0000,  //  0047  JMPF	R11	#0049
      0x542A00FE,  //  0048  LDINT	R10	255
      0x882C010D,  //  0049  GETMBR	R11	R0	K13
      0x60300009,  //  004A  GETGBL	R12	G9
      0x5C341400,  //  004B  MOVE	R13	R10
      0x7C300200,  //  004C  CALL	R12	1
      0x982C120C,  //  004D  SETIDX	R11	R9	R12
      0x04241306,  //  004E  SUB	R9	R9	K6
      0x7001FFE2,  //  004F  JMP		#0033
      0x8C240120,  //  0050  GETMET	R9	R0	K32
      0x542E00FE,  //  0051  LDINT	R11	255
      0x7C240400,  //  0052  CALL	R9	2
      0x14241203,  //  0053  LT	R9	R9	R3
      0x7826000F,  //  0054  JMPF	R9	#0065
      0x8C240120,  //  0055  GETMET	R9	R0	K32
      0x542E0006,  //  0056  LDINT	R11	7
      0x7C240400,  //  0057  CALL	R9	2
      0x8C280120,  //  0058  GETMET	R10	R0	K32
      0x5432005E,  //  0059  LDINT	R12	95
      0x7C280400,  //  005A  CALL	R10	2
      0x542E009F,  //  005B  LDINT	R11	160
      0x0028140B,  //  005C  ADD	R10	R10	R11
      0x542E00FE,  //  005D  LDINT	R11	255
      0x242C140B,  //  005E  GT	R11	R10	R11
      0x782E0000,  //  005F  JMPF	R11	#0061
      0x542A00FE,  //  0060  LDINT	R10	255
      0x142C1207,  //  0061  LT	R11	R9	R7
      0x782E0001,  //  0062  JMPF	R11	#0065
      0x882C010D,  //  0063  GETMBR	R11	R0	K13
      0x982C120A,  //  0064  SETIDX	R11	R9	R10
      0x58200000,  //  0065  LDCONST	R8	K0
      0x14241007,  //  0066  LT	R9	R8	R7
      0x7826007E,  //  0067  JMPF	R9	#00E7
      0x8824010D,  //  0068  GETMBR	R9	R0	K13
      0x94241208,  //  0069  GETIDX	R9	R9	R8
      0xB82A4200,  //  006A  GETNGBL	R10	K33
      0x8C281522,  //  006B  GETMET	R10	R10	K34
      0x5C301200,  //  006C  MOVE	R12	R9
      0x58340000,  //  006D  LDCONST	R13	K0
      0x543A00FE,  //  006E  LDINT	R14	255
      0x583C0000,  //  006F  LDCONST	R15	K0
      0x5C400800,  //  0070  MOVE	R16	R4
      0x7C280C00,  //  0071  CALL	R10	6
      0x5C241400,  //  0072  MOVE	R9	R10
      0x24280B00,  //  0073  GT	R10	R5	K0
      0x782A0012,  //  0074  JMPF	R10	#0088
      0x8C280120,  //  0075  GETMET	R10	R0	K32
      0x5C300A00,  //  0076  MOVE	R12	R5
      0x7C280400,  //  0077  CALL	R10	2
      0x8C2C0120,  //  0078  GETMET	R11	R0	K32
      0x58340023,  //  0079  LDCONST	R13	K35
      0x7C2C0400,  //  007A  CALL	R11	2
      0x1C2C1700,  //  007B  EQ	R11	R11	K0
      0x782E0001,  //  007C  JMPF	R11	#007F
      0x0024120A,  //  007D  ADD	R9	R9	R10
      0x70020004,  //  007E  JMP		#0084
      0x242C120A,  //  007F  GT	R11	R9	R10
      0x782E0001,  //  0080  JMPF	R11	#0083
      0x0424120A,  //  0081  SUB	R9	R9	R10
      0x70020000,  //  0082  JMP		#0084
      0x58240000,  //  0083  LDCONST	R9	K0
      0x542E00FE,  //  0084  LDINT	R11	255
      0x242C120B,  //  0085  GT	R11	R9	R11
      0x782E0000,  //  0086  JMPF	R11	#0088
      0x542600FE,  //  0087  LDINT	R9	255
      0x58280016,  //  0088  LDCONST	R10	K22
      0x242C1300,  //  0089  GT	R11	R9	K0
      0x782E0052,  //  008A  JMPF	R11	#00DE
      0x5C2C0C00,  //  008B  MOVE	R11	R6
      0x4C300000,  //  008C  LDNIL	R12
      0x1C30160C,  //  008D  EQ	R12	R11	R12
      0x7832000B,  //  008E  JMPF	R12	#009B
      0xB8324A00,  //  008F  GETNGBL	R12	K37
      0x8C301926,  //  0090  GETMET	R12	R12	K38
      0x88380110,  //  0091  GETMBR	R14	R0	K16
      0x7C300400,  //  0092  CALL	R12	2
      0xB8364A00,  //  0093  GETNGBL	R13	K37
      0x88341B28,  //  0094  GETMBR	R13	R13	K40
      0x90324E0D,  //  0095  SETMBR	R12	K39	R13
      0x90325300,  //  0096  SETMBR	R12	K41	K0
      0x90325506,  //  0097  SETMBR	R12	K42	K6
      0x543600FE,  //  0098  LDINT	R13	255
      0x9032560D,  //  0099  SETMBR	R12	K43	R13
      0x5C2C1800,  //  009A  MOVE	R11	R12
      0xB8324A00,  //  009B  GETNGBL	R12	K37
      0x8C30192C,  //  009C  GETMET	R12	R12	K44
      0x5C381600,  //  009D  MOVE	R14	R11
      0x7C300400,  //  009E  CALL	R12	2
      0x78320009,  //  009F  JMPF	R12	#00AA
      0x8830172D,  //  00A0  GETMBR	R12	R11	K45
      0x4C340000,  //  00A1  LDNIL	R13
      0x2030180D,  //  00A2  NE	R12	R12	R13
      0x78320005,  //  00A3  JMPF	R12	#00AA
      0x8C30172D,  //  00A4  GETMET	R12	R11	K45
      0x5C381200,  //  00A5  MOVE	R14	R9
      0x583C0000,  //  00A6  LDCONST	R15	K0
      0x7C300600,  //  00A7  CALL	R12	3
      0x5C281800,  //  00A8  MOVE	R10	R12
      0x70020033,  //  00A9  JMP		#00DE
      0x5C281600,  //  00AA  MOVE	R10	R11
      0x54320017,  //  00AB  LDINT	R12	24
      0x3C30140C,  //  00AC  SHR	R12	R10	R12
      0x543600FE,  //  00AD  LDINT	R13	255
      0x2C30180D,  //  00AE  AND	R12	R12	R13
      0x5436000F,  //  00AF  LDINT	R13	16
      0x3C34140D,  //  00B0  SHR	R13	R10	R13
      0x543A00FE,  //  00B1  LDINT	R14	255
      0x2C341A0E,  //  00B2  AND	R13	R13	R14
      0x543A0007,  //  00B3  LDINT	R14	8
      0x3C38140E,  //  00B4  SHR	R14	R10	R14
      0x543E00FE,  //  00B5  LDINT	R15	255
      0x2C381C0F,  //  00B6  AND	R14	R14	R15
      0x543E00FE,  //  00B7  LDINT	R15	255
      0x2C3C140F,  //  00B8  AND	R15	R10	R15
      0xB8424200,  //  00B9  GETNGBL	R16	K33
      0x8C402122,  //  00BA  GETMET	R16	R16	K34
      0x5C481200,  //  00BB  MOVE	R18	R9
      0x584C0000,  //  00BC  LDCONST	R19	K0
      0x545200FE,  //  00BD  LDINT	R20	255
      0x58540000,  //  00BE  LDCONST	R21	K0
      0x5C581A00,  //  00BF  MOVE	R22	R13
      0x7C400C00,  //  00C0  CALL	R16	6
      0x5C342000,  //  00C1  MOVE	R13	R16
      0xB8424200,  //  00C2  GETNGBL	R16	K33
      0x8C402122,  //  00C3  GETMET	R16	R16	K34
      0x5C481200,  //  00C4  MOVE	R18	R9
      0x584C0000,  //  00C5  LDCONST	R19	K0
      0x545200FE,  //  00C6  LDINT	R20	255
      0x58540000,  //  00C7  LDCONST	R21	K0
      0x5C581C00,  //  00C8  MOVE	R22	R14
      0x7C400C00,  //  00C9  CALL	R16	6
      0x5C382000,  //  00CA  MOVE	R14	R16
      0xB8424200,  //  00CB  GETNGBL	R16	K33
      0x8C402122,  //  00CC  GETMET	R16	R16	K34
      0x5C481200,  //  00CD  MOVE	R18	R9
      0x584C0000,  //  00CE  LDCONST	R19	K0
      0x545200FE,  //  00CF  LDINT	R20	255
      0x58540000,  //  00D0  LDCONST	R21	K0
      0x5C581E00,  //  00D1  MOVE	R22	R15
      0x7C400C00,  //  00D2  CALL	R16	6
      0x5C3C2000,  //  00D3  MOVE	R15	R16
      0x54420017,  //  00D4  LDINT	R16	24
      0x38401810,  //  00D5  SHL	R16	R12	R16
      0x5446000F,  //  00D6  LDINT	R17	16
      0x38441A11,  //  00D7  SHL	R17	R13	R17
      0x30402011,  //  00D8  OR	R16	R16	R17
      0x54460007,  //  00D9  LDINT	R17	8
      0x38441C11,  //  00DA  SHL	R17	R14	R17
      0x30402011,  //  00DB  OR	R16	R16	R17
      0x3040200F,  //  00DC  OR	R16	R16	R15
      0x5C282000,  //  00DD  MOVE	R10	R16
      0x882C0104,  //  00DE  GETMBR	R11	R0	K4
      0x8C2C1715,  //  00DF  GETMET	R11	R11	K21
      0x54360003,  //  00E0  LDINT	R13	4
      0x0834100D,  //  00E1  MUL	R13	R8	R13
      0x5C381400,  //  00E2  MOVE	R14	R10
      0x543DFFFB,  //  00E3  LDINT	R15	-4
      0x7C2C0800,  //  00E4  CALL	R11	4
      0x00201106,  //  00E5  ADD	R8	R8	K6
      0x7001FF7E,  //  00E6  JMP		#0066
      0x80000000,  //  00E7  RET	0
    })
  )
);
/*******************************************************************/


/********************************************************************
** Solidified function: start
********************************************************************/
be_local_closure(class_FireAnimation_start,   /* name */
  be_nested_proto(
    5,                          /* nstack */
    2,                          /* argc */
    10,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    0,                          /* has sup protos */
    NULL,                       /* no sub protos */
    1,                          /* has constants */
    &be_ktab_class_FireAnimation,     /* shared constants */
    be_str_weak(start),
    &be_const_str_solidified,
    ( &(const binstruction[15]) {  /* code */
      0x60080003,  //  0000  GETGBL	R2	G3
      0x5C0C0000,  //  0001  MOVE	R3	R0
      0x7C080200,  //  0002  CALL	R2	1
      0x8C08052E,  //  0003  GETMET	R2	R2	K46
      0x5C100200,  //  0004  MOVE	R4	R1
      0x7C080400,  //  0005  CALL	R2	2
      0x90021D00,  //  0006  SETMBR	R0	K14	K0
      0x8C08011F,  //  0007  GETMET	R2	R0	K31
      0x7C080200,  //  0008  CALL	R2	1
      0x88080110,  //  0009  GETMBR	R2	R0	K16
      0x88080511,  //  000A  GETMBR	R2	R2	K17
      0x540EFFFF,  //  000B  LDINT	R3	65536
      0x10080403,  //  000C  MOD	R2	R2	R3
      0x90021E02,  //  000D  SETMBR	R0	K15	R2
      0x80040000,  //  000E  RET	1	R0
    })
  )
);
/*******************************************************************/


/********************************************************************
** Solidified class: FireAnimation
********************************************************************/
extern const bclass be_class_Animation;
be_local_class(FireAnimation,
    4,
    &be_class_Animation,
    be_nested_map(14,
    ( (struct bmapnode*) &(const bmapnode[]) {
        { be_const_key_weak(heat_map, -1), be_const_var(0) },
        { be_const_key_weak(start, -1), be_const_closure(class_FireAnimation_start_closure) },
        { be_const_key_weak(init, -1), be_const_closure(class_FireAnimation_init_closure) },
        { be_const_key_weak(tostring, -1), be_const_closure(class_FireAnimation_tostring_closure) },
        { be_const_key_weak(random_seed, -1), be_const_var(3) },
        { be_const_key_weak(render, 9), be_const_closure(class_FireAnimation_render_closure) },
        { be_const_key_weak(update, -1), be_const_closure(class_FireAnimation_update_closure) },
        { be_const_key_weak(last_update, -1), be_const_var(2) },
        { be_const_key_weak(_initialize_buffers, 6), be_const_closure(class_FireAnimation__initialize_buffers_closure) },
        { be_const_key_weak(PARAMS, 10), be_const_simple_instance(be_nested_simple_instance(&be_class_map, {
        be_const_map( *     be_nested_map(5,
    ( (struct bmapnode*) &(const bmapnode[]) {
        { be_const_key_weak(flicker_amount, 4), be_const_bytes_instance(07000001FF000064) },
        { be_const_key_weak(intensity, 0), be_const_bytes_instance(07000001FF0001B400) },
        { be_const_key_weak(flicker_speed, -1), be_const_bytes_instance(07000100140008) },
        { be_const_key_weak(sparking_rate, -1), be_const_bytes_instance(07000001FF000078) },
        { be_const_key_weak(cooling_rate, -1), be_const_bytes_instance(07000001FF000037) },
    }))    ) } )) },
        { be_const_key_weak(_random, 2), be_const_closure(class_FireAnimation__random_closure) },
        { be_const_key_weak(current_colors, -1), be_const_var(1) },
        { be_const_key_weak(_update_fire_simulation, -1), be_const_closure(class_FireAnimation__update_fire_simulation_closure) },
        { be_const_key_weak(_random_range, 1), be_const_closure(class_FireAnimation__random_range_closure) },
    })),
    be_str_weak(FireAnimation)
);
// compact class 'RichPaletteColorProvider' ktab size: 57, total: 126 (saved 552 bytes)
static const bvalue be_ktab_class_RichPaletteColorProvider[57] = {
  /* K0   */  be_nested_str_weak(_value_arr),
  /* K1   */  be_nested_str_weak(_recompute_palette),
  /* K2   */  be_nested_str_weak(_color_lut),
  /* K3   */  be_nested_str_weak(resize),
  /* K4   */  be_nested_str_weak(LUT_FACTOR),
  /* K5   */  be_const_int(0),
  /* K6   */  be_nested_str_weak(_get_color_for_value_uncached),
  /* K7   */  be_nested_str_weak(set),
  /* K8   */  be_const_int(2),
  /* K9   */  be_const_int(1),
  /* K10  */  be_nested_str_weak(_lut_dirty),
  /* K11  */  be_nested_str_weak(_slots),
  /* K12  */  be_nested_str_weak(_get_palette_bytes),
  /* K13  */  be_nested_str_weak(get),
  /* K14  */  be_const_int(-16777216),
  /* K15  */  be_nested_str_weak(_slots_arr),
  /* K16  */  be_nested_str_weak(_interpolate),
  /* K17  */  be_nested_str_weak(_rebuild_color_lut),
  /* K18  */  be_nested_str_weak(_brightness),
  /* K19  */  be_nested_str_weak(member),
  /* K20  */  be_nested_str_weak(brightness),
  /* K21  */  be_nested_str_weak(palette),
  /* K22  */  be_nested_str_weak(_DEFAULT_PALETTE),
  /* K23  */  be_nested_str_weak(background_X3Alinear_X2Dgradient_X28to_X20right_X2C_X20_X23000000_X29_X3B),
  /* K24  */  be_nested_str_weak(_parse_palette),
  /* K25  */  be_nested_str_weak(background_X3Alinear_X2Dgradient_X28to_X20right),
  /* K26  */  be_nested_str_weak(_X2C_X23_X2502X_X2502X_X2502X_X20_X25_X2E1f_X25_X25),
  /* K27  */  be_const_real_hex(0x41200000),
  /* K28  */  be_nested_str_weak(_X29_X3B),
  /* K29  */  be_nested_str_weak(RichPaletteColorProvider_X28slots_X3D_X25s_X2C_X20cycle_period_X3D_X25s_X29),
  /* K30  */  be_nested_str_weak(cycle_period),
  /* K31  */  be_nested_str_weak(RichPaletteColorProvider_X28uninitialized_X29),
  /* K32  */  be_nested_str_weak(_current_color),
  /* K33  */  be_nested_str_weak(_get_color_at_index),
  /* K34  */  be_nested_str_weak(init),
  /* K35  */  be_nested_str_weak(global),
  /* K36  */  be_nested_str_weak(_light_state),
  /* K37  */  be_nested_str_weak(light_state),
  /* K38  */  be_nested_str_weak(RGB),
  /* K39  */  be_nested_str_weak(add),
  /* K40  */  be_nested_str_weak(tasmota),
  /* K41  */  be_nested_str_weak(scale_int),
  /* K42  */  be_nested_str_weak(on_param_changed),
  /* K43  */  be_nested_str_weak(transition_type),
  /* K44  */  be_nested_str_weak(animation),
  /* K45  */  be_nested_str_weak(SINE),
  /* K46  */  be_nested_str_weak(scale_uint),
  /* K47  */  be_nested_str_weak(sine_int),
  /* K48  */  be_nested_str_weak(start),
  /* K49  */  be_nested_str_weak(_fix_time_ms),
  /* K50  */  be_nested_str_weak(start_time),
  /* K51  */  be_nested_str_weak(set_rgb),
  /* K52  */  be_nested_str_weak(bri),
  /* K53  */  be_nested_str_weak(set_bri),
  /* K54  */  be_nested_str_weak(r),
  /* K55  */  be_nested_str_weak(g),
  /* K56  */  be_nested_str_weak(b),
};


extern const bclass be_class_RichPaletteColorProvider;

/********************************************************************
** Solidified function: _rebuild_color_lut
********************************************************************/
be_local_closure(class_RichPaletteColorProvider__rebuild_color_lut,   /* name */
  be_nested_proto(
    11,                          /* nstack */
    1,                          /* argc */
    10,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    0,                          /* has sup protos */
    NULL,                       /* no sub protos */
    1,                          /* has constants */
    &be_ktab_class_RichPaletteColorProvider,     /* shared constants */
    be_str_weak(_rebuild_color_lut),
    &be_const_str_solidified,
    ( &(const binstruction[51]) {  /* code */
      0x88040100,  //  0000  GETMBR	R1	R0	K0
      0x4C080000,  //  0001  LDNIL	R2
      0x1C040202,  //  0002  EQ	R1	R1	R2
      0x78060001,  //  0003  JMPF	R1	#0006
      0x8C040101,  //  0004  GETMET	R1	R0	K1
      0x7C040200,  //  0005  CALL	R1	1
      0x88040102,  //  0006  GETMBR	R1	R0	K2
      0x4C080000,  //  0007  LDNIL	R2
      0x1C040202,  //  0008  EQ	R1	R1	R2
      0x78060008,  //  0009  JMPF	R1	#0013
      0x60040015,  //  000A  GETGBL	R1	G21
      0x7C040000,  //  000B  CALL	R1	0
      0x90020401,  //  000C  SETMBR	R0	K2	R1
      0x88040102,  //  000D  GETMBR	R1	R0	K2
      0x8C040303,  //  000E  GETMET	R1	R1	K3
      0x540E0080,  //  000F  LDINT	R3	129
      0x54120003,  //  0010  LDINT	R4	4
      0x080C0604,  //  0011  MUL	R3	R3	R4
      0x7C040400,  //  0012  CALL	R1	2
      0x88040104,  //  0013  GETMBR	R1	R0	K4
      0x58080005,  //  0014  LDCONST	R2	K5
      0x540E00FF,  //  0015  LDINT	R3	256
      0x3C0C0601,  //  0016  SHR	R3	R3	R1
      0x14100403,  //  0017  LT	R4	R2	R3
      0x7812000C,  //  0018  JMPF	R4	#0026
      0x38100401,  //  0019  SHL	R4	R2	R1
      0x8C140106,  //  001A  GETMET	R5	R0	K6
      0x5C1C0800,  //  001B  MOVE	R7	R4
      0x58200005,  //  001C  LDCONST	R8	K5
      0x7C140600,  //  001D  CALL	R5	3
      0x88180102,  //  001E  GETMBR	R6	R0	K2
      0x8C180D07,  //  001F  GETMET	R6	R6	K7
      0x38200508,  //  0020  SHL	R8	R2	K8
      0x5C240A00,  //  0021  MOVE	R9	R5
      0x542A0003,  //  0022  LDINT	R10	4
      0x7C180800,  //  0023  CALL	R6	4
      0x00080509,  //  0024  ADD	R2	R2	K9
      0x7001FFF0,  //  0025  JMP		#0017
      0x8C100106,  //  0026  GETMET	R4	R0	K6
      0x541A00FE,  //  0027  LDINT	R6	255
      0x581C0005,  //  0028  LDCONST	R7	K5
      0x7C100600,  //  0029  CALL	R4	3
      0x88140102,  //  002A  GETMBR	R5	R0	K2
      0x8C140B07,  //  002B  GETMET	R5	R5	K7
      0x381C0708,  //  002C  SHL	R7	R3	K8
      0x5C200800,  //  002D  MOVE	R8	R4
      0x54260003,  //  002E  LDINT	R9	4
      0x7C140800,  //  002F  CALL	R5	4
      0x50140000,  //  0030  LDBOOL	R5	0	0
      0x90021405,  //  0031  SETMBR	R0	K10	R5
      0x80000000,  //  0032  RET	0
    })
  )
);
/*******************************************************************/


/********************************************************************
** Solidified function: _get_color_at_index
********************************************************************/
be_local_closure(class_RichPaletteColorProvider__get_color_at_index,   /* name */
  be_nested_proto(
    7,                          /* nstack */
    2,                          /* argc */
    10,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    0,                          /* has sup protos */
    NULL,                       /* no sub protos */
    1,                          /* has constants */
    &be_ktab_class_RichPaletteColorProvider,     /* shared constants */
    be_str_weak(_get_color_at_index),
    &be_const_str_solidified,
    ( &(const binstruction[16]) {  /* code */
      0x14080305,  //  0000  LT	R2	R1	K5
      0x740A0002,  //  0001  JMPT	R2	#0005
      0x8808010B,  //  0002  GETMBR	R2	R0	K11
      0x28080202,  //  0003  GE	R2	R1	R2
      0x780A0001,  //  0004  JMPF	R2	#0007
      0x5409FFFE,  //  0005  LDINT	R2	-1
      0x80040400,  //  0006  RET	1	R2
      0x8C08010C,  //  0007  GETMET	R2	R0	K12
      0x7C080200,  //  0008  CALL	R2	1
      0x8C0C050D,  //  0009  GETMET	R3	R2	K13
      0x54160003,  //  000A  LDINT	R5	4
      0x08140205,  //  000B  MUL	R5	R1	R5
      0x5419FFFB,  //  000C  LDINT	R6	-4
      0x7C0C0600,  //  000D  CALL	R3	3
      0x300C070E,  //  000E  OR	R3	R3	K14
      0x80040600,  //  000F  RET	1	R3
    })
  )
);
/*******************************************************************/


/********************************************************************
** Solidified function: _get_color_for_value_uncached
********************************************************************/
be_local_closure(class_RichPaletteColorProvider__get_color_for_value_uncached,   /* name */
  be_nested_proto(
    20,                          /* nstack */
    3,                          /* argc */
    10,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    0,                          /* has sup protos */
    NULL,                       /* no sub protos */
    1,                          /* has constants */
    &be_ktab_class_RichPaletteColorProvider,     /* shared constants */
    be_str_weak(_get_color_for_value_uncached),
    &be_const_str_solidified,
    ( &(const binstruction[89]) {  /* code */
      0x880C010F,  //  0000  GETMBR	R3	R0	K15
      0x4C100000,  //  0001  LDNIL	R4
      0x1C0C0604,  //  0002  EQ	R3	R3	R4
      0x780E0005,  //  0003  JMPF	R3	#000A
      0x880C0100,  //  0004  GETMBR	R3	R0	K0
      0x4C100000,  //  0005  LDNIL	R4
      0x1C0C0604,  //  0006  EQ	R3	R3	R4
      0x780E0001,  //  0007  JMPF	R3	#000A
      0x8C0C0101,  //  0008  GETMET	R3	R0	K1
      0x7C0C0200,  //  0009  CALL	R3	1
      0x8C0C010C,  //  000A  GETMET	R3	R0	K12
      0x7C0C0200,  //  000B  CALL	R3	1
      0x8810010B,  //  000C  GETMBR	R4	R0	K11
      0x04140908,  //  000D  SUB	R5	R4	K8
      0x24180B05,  //  000E  GT	R6	R5	K5
      0x781A0006,  //  000F  JMPF	R6	#0017
      0x88180100,  //  0010  GETMBR	R6	R0	K0
      0x94180C05,  //  0011  GETIDX	R6	R6	R5
      0x28180206,  //  0012  GE	R6	R1	R6
      0x781A0000,  //  0013  JMPF	R6	#0015
      0x70020001,  //  0014  JMP		#0017
      0x04140B09,  //  0015  SUB	R5	R5	K9
      0x7001FFF6,  //  0016  JMP		#000E
      0x8C18070D,  //  0017  GETMET	R6	R3	K13
      0x54220003,  //  0018  LDINT	R8	4
      0x08200A08,  //  0019  MUL	R8	R5	R8
      0x54260003,  //  001A  LDINT	R9	4
      0x7C180600,  //  001B  CALL	R6	3
      0x8C1C070D,  //  001C  GETMET	R7	R3	K13
      0x00240B09,  //  001D  ADD	R9	R5	K9
      0x542A0003,  //  001E  LDINT	R10	4
      0x0824120A,  //  001F  MUL	R9	R9	R10
      0x542A0003,  //  0020  LDINT	R10	4
      0x7C1C0600,  //  0021  CALL	R7	3
      0x88200100,  //  0022  GETMBR	R8	R0	K0
      0x94201005,  //  0023  GETIDX	R8	R8	R5
      0x00240B09,  //  0024  ADD	R9	R5	K9
      0x88280100,  //  0025  GETMBR	R10	R0	K0
      0x94241409,  //  0026  GETIDX	R9	R10	R9
      0x8C280110,  //  0027  GETMET	R10	R0	K16
      0x5C300200,  //  0028  MOVE	R12	R1
      0x5C341000,  //  0029  MOVE	R13	R8
      0x5C381200,  //  002A  MOVE	R14	R9
      0x543E0007,  //  002B  LDINT	R15	8
      0x3C3C0C0F,  //  002C  SHR	R15	R6	R15
      0x544200FE,  //  002D  LDINT	R16	255
      0x2C3C1E10,  //  002E  AND	R15	R15	R16
      0x54420007,  //  002F  LDINT	R16	8
      0x3C400E10,  //  0030  SHR	R16	R7	R16
      0x544600FE,  //  0031  LDINT	R17	255
      0x2C402011,  //  0032  AND	R16	R16	R17
      0x7C280C00,  //  0033  CALL	R10	6
      0x8C2C0110,  //  0034  GETMET	R11	R0	K16
      0x5C340200,  //  0035  MOVE	R13	R1
      0x5C381000,  //  0036  MOVE	R14	R8
      0x5C3C1200,  //  0037  MOVE	R15	R9
      0x5442000F,  //  0038  LDINT	R16	16
      0x3C400C10,  //  0039  SHR	R16	R6	R16
      0x544600FE,  //  003A  LDINT	R17	255
      0x2C402011,  //  003B  AND	R16	R16	R17
      0x5446000F,  //  003C  LDINT	R17	16
      0x3C440E11,  //  003D  SHR	R17	R7	R17
      0x544A00FE,  //  003E  LDINT	R18	255
      0x2C442212,  //  003F  AND	R17	R17	R18
      0x7C2C0C00,  //  0040  CALL	R11	6
      0x8C300110,  //  0041  GETMET	R12	R0	K16
      0x5C380200,  //  0042  MOVE	R14	R1
      0x5C3C1000,  //  0043  MOVE	R15	R8
      0x5C401200,  //  0044  MOVE	R16	R9
      0x54460017,  //  0045  LDINT	R17	24
      0x3C440C11,  //  0046  SHR	R17	R6	R17
      0x544A00FE,  //  0047  LDINT	R18	255
      0x2C442212,  //  0048  AND	R17	R17	R18
      0x544A0017,  //  0049  LDINT	R18	24
      0x3C480E12,  //  004A  SHR	R18	R7	R18
      0x544E00FE,  //  004B  LDINT	R19	255
      0x2C482413,  //  004C  AND	R18	R18	R19
      0x7C300C00,  //  004D  CALL	R12	6
      0x543600FE,  //  004E  LDINT	R13	255
      0x543A0017,  //  004F  LDINT	R14	24
      0x38341A0E,  //  0050  SHL	R13	R13	R14
      0x543A000F,  //  0051  LDINT	R14	16
      0x3838140E,  //  0052  SHL	R14	R10	R14
      0x30341A0E,  //  0053  OR	R13	R13	R14
      0x543A0007,  //  0054  LDINT	R14	8
      0x3838160E,  //  0055  SHL	R14	R11	R14
      0x30341A0E,  //  0056  OR	R13	R13	R14
      0x30341A0C,  //  0057  OR	R13	R13	R12
      0x80041A00,  //  0058  RET	1	R13
    })
  )
);
/*******************************************************************/


/********************************************************************
** Solidified function: update
********************************************************************/
be_local_closure(class_RichPaletteColorProvider_update,   /* name */
  be_nested_proto(
    5,                          /* nstack */
    2,                          /* argc */
    10,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    0,                          /* has sup protos */
    NULL,                       /* no sub protos */
    1,                          /* has constants */
    &be_ktab_class_RichPaletteColorProvider,     /* shared constants */
    be_str_weak(update),
    &be_const_str_solidified,
    ( &(const binstruction[13]) {  /* code */
      0x8808010A,  //  0000  GETMBR	R2	R0	K10
      0x740A0003,  //  0001  JMPT	R2	#0006
      0x88080102,  //  0002  GETMBR	R2	R0	K2
      0x4C0C0000,  //  0003  LDNIL	R3
      0x1C080403,  //  0004  EQ	R2	R2	R3
      0x780A0001,  //  0005  JMPF	R2	#0008
      0x8C080111,  //  0006  GETMET	R2	R0	K17
      0x7C080200,  //  0007  CALL	R2	1
      0x8C080113,  //  0008  GETMET	R2	R0	K19
      0x58100014,  //  0009  LDCONST	R4	K20
      0x7C080400,  //  000A  CALL	R2	2
      0x90022402,  //  000B  SETMBR	R0	K18	R2
      0x80000000,  //  000C  RET	0
    })
  )
);
/*******************************************************************/


/********************************************************************
** Solidified function: _get_palette_bytes
********************************************************************/
be_local_closure(class_RichPaletteColorProvider__get_palette_bytes,   /* name */
  be_nested_proto(
    3,                          /* nstack */
    1,                          /* argc */
    10,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    0,                          /* has sup protos */
    NULL,                       /* no sub protos */
    1,                          /* has constants */
    &be_ktab_class_RichPaletteColorProvider,     /* shared constants */
    be_str_weak(_get_palette_bytes),
    &be_const_str_solidified,
    ( &(const binstruction[ 8]) {  /* code */
      0x88040115,  //  0000  GETMBR	R1	R0	K21
      0x4C080000,  //  0001  LDNIL	R2
      0x20080202,  //  0002  NE	R2	R1	R2
      0x780A0001,  //  0003  JMPF	R2	#0006
      0x5C080200,  //  0004  MOVE	R2	R1
      0x70020000,  //  0005  JMP		#0007
      0x88080116,  //  0006  GETMBR	R2	R0	K22
      0x80040400,  //  0007  RET	1	R2
    })
  )
);
/*******************************************************************/


/********************************************************************
** Solidified function: to_css_gradient
********************************************************************/
be_local_closure(class_RichPaletteColorProvider_to_css_gradient,   /* name */
  be_nested_proto(
    16,                          /* nstack */
    1,                          /* argc */
    10,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    0,                          /* has sup protos */
    NULL,                       /* no sub protos */
    1,                          /* has constants */
    &be_ktab_class_RichPaletteColorProvider,     /* shared constants */
    be_str_weak(to_css_gradient),
    &be_const_str_solidified,
    ( &(const binstruction[47]) {  /* code */
      0x8C04010C,  //  0000  GETMET	R1	R0	K12
      0x7C040200,  //  0001  CALL	R1	1
      0x4C080000,  //  0002  LDNIL	R2
      0x1C080202,  //  0003  EQ	R2	R1	R2
      0x780A0000,  //  0004  JMPF	R2	#0006
      0x80062E00,  //  0005  RET	1	K23
      0x8C080118,  //  0006  GETMET	R2	R0	K24
      0x58100005,  //  0007  LDCONST	R4	K5
      0x541603E7,  //  0008  LDINT	R5	1000
      0x7C080600,  //  0009  CALL	R2	3
      0x580C0019,  //  000A  LDCONST	R3	K25
      0x58100005,  //  000B  LDCONST	R4	K5
      0x6014000C,  //  000C  GETGBL	R5	G12
      0x5C180400,  //  000D  MOVE	R6	R2
      0x7C140200,  //  000E  CALL	R5	1
      0x14140805,  //  000F  LT	R5	R4	R5
      0x7816001B,  //  0010  JMPF	R5	#002D
      0x94140404,  //  0011  GETIDX	R5	R2	R4
      0x8C18030D,  //  0012  GETMET	R6	R1	K13
      0x54220003,  //  0013  LDINT	R8	4
      0x08200808,  //  0014  MUL	R8	R4	R8
      0x54260003,  //  0015  LDINT	R9	4
      0x7C180600,  //  0016  CALL	R6	3
      0x541E0007,  //  0017  LDINT	R7	8
      0x3C1C0C07,  //  0018  SHR	R7	R6	R7
      0x542200FE,  //  0019  LDINT	R8	255
      0x2C1C0E08,  //  001A  AND	R7	R7	R8
      0x5422000F,  //  001B  LDINT	R8	16
      0x3C200C08,  //  001C  SHR	R8	R6	R8
      0x542600FE,  //  001D  LDINT	R9	255
      0x2C201009,  //  001E  AND	R8	R8	R9
      0x54260017,  //  001F  LDINT	R9	24
      0x3C240C09,  //  0020  SHR	R9	R6	R9
      0x542A00FE,  //  0021  LDINT	R10	255
      0x2C24120A,  //  0022  AND	R9	R9	R10
      0x60280018,  //  0023  GETGBL	R10	G24
      0x582C001A,  //  0024  LDCONST	R11	K26
      0x5C300E00,  //  0025  MOVE	R12	R7
      0x5C341000,  //  0026  MOVE	R13	R8
      0x5C381200,  //  0027  MOVE	R14	R9
      0x0C3C0B1B,  //  0028  DIV	R15	R5	K27
      0x7C280A00,  //  0029  CALL	R10	5
      0x000C060A,  //  002A  ADD	R3	R3	R10
      0x00100909,  //  002B  ADD	R4	R4	K9
      0x7001FFDE,  //  002C  JMP		#000C
      0x000C071C,  //  002D  ADD	R3	R3	K28
      0x80040600,  //  002E  RET	1	R3
    })
  )
);
/*******************************************************************/


/********************************************************************
** Solidified function: tostring
********************************************************************/
be_local_closure(class_RichPaletteColorProvider_tostring,   /* name */
  be_nested_proto(
    5,                          /* nstack */
    1,                          /* argc */
    10,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    0,                          /* has sup protos */
    NULL,                       /* no sub protos */
    1,                          /* has constants */
    &be_ktab_class_RichPaletteColorProvider,     /* shared constants */
    be_str_weak(tostring),
    &be_const_str_solidified,
    ( &(const binstruction[16]) {  /* code */
      0xA8020008,  //  0000  EXBLK	0	#000A
      0x60040018,  //  0001  GETGBL	R1	G24
      0x5808001D,  //  0002  LDCONST	R2	K29
      0x880C010B,  //  0003  GETMBR	R3	R0	K11
      0x8810011E,  //  0004  GETMBR	R4	R0	K30
      0x7C040600,  //  0005  CALL	R1	3
      0xA8040001,  //  0006  EXBLK	1	1
      0x80040200,  //  0007  RET	1	R1
      0xA8040001,  //  0008  EXBLK	1	1
      0x70020004,  //  0009  JMP		#000F
      0xAC040000,  //  000A  CATCH	R1	0	0
      0x70020001,  //  000B  JMP		#000E
      0x80063E00,  //  000C  RET	1	K31
      0x70020000,  //  000D  JMP		#000F
      0xB0080000,  //  000E  RAISE	2	R0	R0
      0x80000000,  //  000F  RET	0
    })
  )
);
/*******************************************************************/


/********************************************************************
** Solidified function: _recompute_palette
********************************************************************/
be_local_closure(class_RichPaletteColorProvider__recompute_palette,   /* name */
  be_nested_proto(
    7,                          /* nstack */
    1,                          /* argc */
    10,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    0,                          /* has sup protos */
    NULL,                       /* no sub protos */
    1,                          /* has constants */
    &be_ktab_class_RichPaletteColorProvider,     /* shared constants */
    be_str_weak(_recompute_palette),
    &be_const_str_solidified,
    ( &(const binstruction[43]) {  /* code */
      0x8804011E,  //  0000  GETMBR	R1	R0	K30
      0x8C08010C,  //  0001  GETMET	R2	R0	K12
      0x7C080200,  //  0002  CALL	R2	1
      0x600C000C,  //  0003  GETGBL	R3	G12
      0x5C100400,  //  0004  MOVE	R4	R2
      0x7C0C0200,  //  0005  CALL	R3	1
      0x54120003,  //  0006  LDINT	R4	4
      0x0C0C0604,  //  0007  DIV	R3	R3	R4
      0x90021603,  //  0008  SETMBR	R0	K11	R3
      0x240C0305,  //  0009  GT	R3	R1	K5
      0x780E0008,  //  000A  JMPF	R3	#0014
      0x4C0C0000,  //  000B  LDNIL	R3
      0x200C0403,  //  000C  NE	R3	R2	R3
      0x780E0005,  //  000D  JMPF	R3	#0014
      0x8C0C0118,  //  000E  GETMET	R3	R0	K24
      0x58140005,  //  000F  LDCONST	R5	K5
      0x04180309,  //  0010  SUB	R6	R1	K9
      0x7C0C0600,  //  0011  CALL	R3	3
      0x90021E03,  //  0012  SETMBR	R0	K15	R3
      0x70020001,  //  0013  JMP		#0016
      0x4C0C0000,  //  0014  LDNIL	R3
      0x90021E03,  //  0015  SETMBR	R0	K15	R3
      0x8C0C010C,  //  0016  GETMET	R3	R0	K12
      0x7C0C0200,  //  0017  CALL	R3	1
      0x4C100000,  //  0018  LDNIL	R4
      0x200C0604,  //  0019  NE	R3	R3	R4
      0x780E0005,  //  001A  JMPF	R3	#0021
      0x8C0C0118,  //  001B  GETMET	R3	R0	K24
      0x58140005,  //  001C  LDCONST	R5	K5
      0x541A00FE,  //  001D  LDINT	R6	255
      0x7C0C0600,  //  001E  CALL	R3	3
      0x90020003,  //  001F  SETMBR	R0	K0	R3
      0x70020001,  //  0020  JMP		#0023
      0x4C0C0000,  //  0021  LDNIL	R3
      0x90020003,  //  0022  SETMBR	R0	K0	R3
      0x880C010B,  //  0023  GETMBR	R3	R0	K11
      0x240C0705,  //  0024  GT	R3	R3	K5
      0x780E0003,  //  0025  JMPF	R3	#002A
      0x8C0C0121,  //  0026  GETMET	R3	R0	K33
      0x58140005,  //  0027  LDCONST	R5	K5
      0x7C0C0400,  //  0028  CALL	R3	2
      0x90024003,  //  0029  SETMBR	R0	K32	R3
      0x80040000,  //  002A  RET	1	R0
    })
  )
);
/*******************************************************************/


/********************************************************************
** Solidified function: init
********************************************************************/
be_local_closure(class_RichPaletteColorProvider_init,   /* name */
  be_nested_proto(
    6,                          /* nstack */
    2,                          /* argc */
    10,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    0,                          /* has sup protos */
    NULL,                       /* no sub protos */
    1,                          /* has constants */
    &be_ktab_class_RichPaletteColorProvider,     /* shared constants */
    be_str_weak(init),
    &be_const_str_solidified,
    ( &(const binstruction[19]) {  /* code */
      0x60080003,  //  0000  GETGBL	R2	G3
      0x5C0C0000,  //  0001  MOVE	R3	R0
      0x7C080200,  //  0002  CALL	R2	1
      0x8C080522,  //  0003  GETMET	R2	R2	K34
      0x5C100200,  //  0004  MOVE	R4	R1
      0x7C080400,  //  0005  CALL	R2	2
      0x5409FFFE,  //  0006  LDINT	R2	-1
      0x90024002,  //  0007  SETMBR	R0	K32	R2
      0x90021705,  //  0008  SETMBR	R0	K11	K5
      0xA40A4600,  //  0009  IMPORT	R2	K35
      0x8C0C0525,  //  000A  GETMET	R3	R2	K37
      0x88140525,  //  000B  GETMBR	R5	R2	K37
      0x88140B26,  //  000C  GETMBR	R5	R5	K38
      0x7C0C0400,  //  000D  CALL	R3	2
      0x90024803,  //  000E  SETMBR	R0	K36	R3
      0x8C0C0327,  //  000F  GETMET	R3	R1	K39
      0x5C140000,  //  0010  MOVE	R5	R0
      0x7C0C0400,  //  0011  CALL	R3	2
      0x80000000,  //  0012  RET	0
    })
  )
);
/*******************************************************************/


/********************************************************************
** Solidified function: _parse_palette
********************************************************************/
be_local_closure(class_RichPaletteColorProvider__parse_palette,   /* name */
  be_nested_proto(
    16,                          /* nstack */
    3,                          /* argc */
    10,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    0,                          /* has sup protos */
    NULL,                       /* no sub protos */
    1,                          /* has constants */
    &be_ktab_class_RichPaletteColorProvider,     /* shared constants */
    be_str_weak(_parse_palette),
    &be_const_str_solidified,
    ( &(const binstruction[69]) {  /* code */
      0x8C0C010C,  //  0000  GETMET	R3	R0	K12
      0x7C0C0200,  //  0001  CALL	R3	1
      0x60100012,  //  0002  GETGBL	R4	G18
      0x7C100000,  //  0003  CALL	R4	0
      0x8814010B,  //  0004  GETMBR	R5	R0	K11
      0x8C180903,  //  0005  GETMET	R6	R4	K3
      0x5C200A00,  //  0006  MOVE	R8	R5
      0x7C180400,  //  0007  CALL	R6	2
      0x8C18070D,  //  0008  GETMET	R6	R3	K13
      0x58200005,  //  0009  LDCONST	R8	K5
      0x58240009,  //  000A  LDCONST	R9	K9
      0x7C180600,  //  000B  CALL	R6	3
      0x20180D05,  //  000C  NE	R6	R6	K5
      0x781A0022,  //  000D  JMPF	R6	#0031
      0x58180005,  //  000E  LDCONST	R6	K5
      0x581C0005,  //  000F  LDCONST	R7	K5
      0x04200B09,  //  0010  SUB	R8	R5	K9
      0x14200E08,  //  0011  LT	R8	R7	R8
      0x78220007,  //  0012  JMPF	R8	#001B
      0x8C20070D,  //  0013  GETMET	R8	R3	K13
      0x542A0003,  //  0014  LDINT	R10	4
      0x08280E0A,  //  0015  MUL	R10	R7	R10
      0x582C0009,  //  0016  LDCONST	R11	K9
      0x7C200600,  //  0017  CALL	R8	3
      0x00180C08,  //  0018  ADD	R6	R6	R8
      0x001C0F09,  //  0019  ADD	R7	R7	K9
      0x7001FFF4,  //  001A  JMP		#0010
      0x58200005,  //  001B  LDCONST	R8	K5
      0x581C0005,  //  001C  LDCONST	R7	K5
      0x14240E05,  //  001D  LT	R9	R7	R5
      0x78260010,  //  001E  JMPF	R9	#0030
      0xB8265000,  //  001F  GETNGBL	R9	K40
      0x8C241329,  //  0020  GETMET	R9	R9	K41
      0x5C2C1000,  //  0021  MOVE	R11	R8
      0x58300005,  //  0022  LDCONST	R12	K5
      0x5C340C00,  //  0023  MOVE	R13	R6
      0x5C380200,  //  0024  MOVE	R14	R1
      0x5C3C0400,  //  0025  MOVE	R15	R2
      0x7C240C00,  //  0026  CALL	R9	6
      0x98100E09,  //  0027  SETIDX	R4	R7	R9
      0x8C24070D,  //  0028  GETMET	R9	R3	K13
      0x542E0003,  //  0029  LDINT	R11	4
      0x082C0E0B,  //  002A  MUL	R11	R7	R11
      0x58300009,  //  002B  LDCONST	R12	K9
      0x7C240600,  //  002C  CALL	R9	3
      0x00201009,  //  002D  ADD	R8	R8	R9
      0x001C0F09,  //  002E  ADD	R7	R7	K9
      0x7001FFEC,  //  002F  JMP		#001D
      0x70020012,  //  0030  JMP		#0044
      0x58180005,  //  0031  LDCONST	R6	K5
      0x141C0C05,  //  0032  LT	R7	R6	R5
      0x781E000F,  //  0033  JMPF	R7	#0044
      0x8C1C070D,  //  0034  GETMET	R7	R3	K13
      0x54260003,  //  0035  LDINT	R9	4
      0x08240C09,  //  0036  MUL	R9	R6	R9
      0x58280009,  //  0037  LDCONST	R10	K9
      0x7C1C0600,  //  0038  CALL	R7	3
      0xB8225000,  //  0039  GETNGBL	R8	K40
      0x8C201129,  //  003A  GETMET	R8	R8	K41
      0x5C280E00,  //  003B  MOVE	R10	R7
      0x582C0005,  //  003C  LDCONST	R11	K5
      0x543200FE,  //  003D  LDINT	R12	255
      0x5C340200,  //  003E  MOVE	R13	R1
      0x5C380400,  //  003F  MOVE	R14	R2
      0x7C200C00,  //  0040  CALL	R8	6
      0x98100C08,  //  0041  SETIDX	R4	R6	R8
      0x00180D09,  //  0042  ADD	R6	R6	K9
      0x7001FFED,  //  0043  JMP		#0032
      0x80040800,  //  0044  RET	1	R4
    })
  )
);
/*******************************************************************/


/********************************************************************
** Solidified function: on_param_changed
********************************************************************/
be_local_closure(class_RichPaletteColorProvider_on_param_changed,   /* name */
  be_nested_proto(
    7,                          /* nstack */
    3,                          /* argc */
    10,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    0,                          /* has sup protos */
    NULL,                       /* no sub protos */
    1,                          /* has constants */
    &be_ktab_class_RichPaletteColorProvider,     /* shared constants */
    be_str_weak(on_param_changed),
    &be_const_str_solidified,
    ( &(const binstruction[28]) {  /* code */
      0x600C0003,  //  0000  GETGBL	R3	G3
      0x5C100000,  //  0001  MOVE	R4	R0
      0x7C0C0200,  //  0002  CALL	R3	1
      0x8C0C072A,  //  0003  GETMET	R3	R3	K42
      0x5C140200,  //  0004  MOVE	R5	R1
      0x5C180400,  //  0005  MOVE	R6	R2
      0x7C0C0600,  //  0006  CALL	R3	3
      0x1C0C031E,  //  0007  EQ	R3	R1	K30
      0x740E0001,  //  0008  JMPT	R3	#000B
      0x1C0C0315,  //  0009  EQ	R3	R1	K21
      0x780E0009,  //  000A  JMPF	R3	#0015
      0x880C010F,  //  000B  GETMBR	R3	R0	K15
      0x4C100000,  //  000C  LDNIL	R4
      0x200C0604,  //  000D  NE	R3	R3	R4
      0x740E0003,  //  000E  JMPT	R3	#0013
      0x880C0100,  //  000F  GETMBR	R3	R0	K0
      0x4C100000,  //  0010  LDNIL	R4
      0x200C0604,  //  0011  NE	R3	R3	R4
      0x780E0001,  //  0012  JMPF	R3	#0015
      0x8C0C0101,  //  0013  GETMET	R3	R0	K1
      0x7C0C0200,  //  0014  CALL	R3	1
      0x1C0C0315,  //  0015  EQ	R3	R1	K21
      0x740E0001,  //  0016  JMPT	R3	#0019
      0x1C0C032B,  //  0017  EQ	R3	R1	K43
      0x780E0001,  //  0018  JMPF	R3	#001B
      0x500C0200,  //  0019  LDBOOL	R3	1	0
      0x90021403,  //  001A  SETMBR	R0	K10	R3
      0x80000000,  //  001B  RET	0
    })
  )
);
/*******************************************************************/


/********************************************************************
** Solidified function: _interpolate
********************************************************************/
be_local_closure(class_RichPaletteColorProvider__interpolate,   /* name */
  be_nested_proto(
    18,                          /* nstack */
    6,                          /* argc */
    10,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    0,                          /* has sup protos */
    NULL,                       /* no sub protos */
    1,                          /* has constants */
    &be_ktab_class_RichPaletteColorProvider,     /* shared constants */
    be_str_weak(_interpolate),
    &be_const_str_solidified,
    ( &(const binstruction[54]) {  /* code */
      0x8818012B,  //  0000  GETMBR	R6	R0	K43
      0xB81E5800,  //  0001  GETNGBL	R7	K44
      0x881C0F2D,  //  0002  GETMBR	R7	R7	K45
      0x1C1C0C07,  //  0003  EQ	R7	R6	R7
      0x781E0026,  //  0004  JMPF	R7	#002C
      0xB81E5000,  //  0005  GETNGBL	R7	K40
      0x8C1C0F2E,  //  0006  GETMET	R7	R7	K46
      0x5C240200,  //  0007  MOVE	R9	R1
      0x5C280400,  //  0008  MOVE	R10	R2
      0x5C2C0600,  //  0009  MOVE	R11	R3
      0x58300005,  //  000A  LDCONST	R12	K5
      0x543600FE,  //  000B  LDINT	R13	255
      0x7C1C0C00,  //  000C  CALL	R7	6
      0xB8225000,  //  000D  GETNGBL	R8	K40
      0x8C20112E,  //  000E  GETMET	R8	R8	K46
      0x5C280E00,  //  000F  MOVE	R10	R7
      0x582C0005,  //  0010  LDCONST	R11	K5
      0x543200FE,  //  0011  LDINT	R12	255
      0x54363FFF,  //  0012  LDINT	R13	16384
      0x58380005,  //  0013  LDCONST	R14	K5
      0x7C200C00,  //  0014  CALL	R8	6
      0xB8265000,  //  0015  GETNGBL	R9	K40
      0x8C24132F,  //  0016  GETMET	R9	R9	K47
      0x542E1FFF,  //  0017  LDINT	R11	8192
      0x002C100B,  //  0018  ADD	R11	R8	R11
      0x7C240400,  //  0019  CALL	R9	2
      0xB82A5000,  //  001A  GETNGBL	R10	K40
      0x8C281529,  //  001B  GETMET	R10	R10	K41
      0x5C301200,  //  001C  MOVE	R12	R9
      0x5435EFFF,  //  001D  LDINT	R13	-4096
      0x543A0FFF,  //  001E  LDINT	R14	4096
      0x583C0005,  //  001F  LDCONST	R15	K5
      0x544200FE,  //  0020  LDINT	R16	255
      0x7C280C00,  //  0021  CALL	R10	6
      0xB82E5000,  //  0022  GETNGBL	R11	K40
      0x8C2C1729,  //  0023  GETMET	R11	R11	K41
      0x5C341400,  //  0024  MOVE	R13	R10
      0x58380005,  //  0025  LDCONST	R14	K5
      0x543E00FE,  //  0026  LDINT	R15	255
      0x5C400800,  //  0027  MOVE	R16	R4
      0x5C440A00,  //  0028  MOVE	R17	R5
      0x7C2C0C00,  //  0029  CALL	R11	6
      0x80041600,  //  002A  RET	1	R11
      0x70020008,  //  002B  JMP		#0035
      0xB81E5000,  //  002C  GETNGBL	R7	K40
      0x8C1C0F2E,  //  002D  GETMET	R7	R7	K46
      0x5C240200,  //  002E  MOVE	R9	R1
      0x5C280400,  //  002F  MOVE	R10	R2
      0x5C2C0600,  //  0030  MOVE	R11	R3
      0x5C300800,  //  0031  MOVE	R12	R4
      0x5C340A00,  //  0032  MOVE	R13	R5
      0x7C1C0C00,  //  0033  CALL	R7	6
      0x80040E00,  //  0034  RET	1	R7
      0x80000000,  //  0035  RET	0
    })
  )
);
/*******************************************************************/


/********************************************************************
** Solidified function: start
********************************************************************/
be_local_closure(class_RichPaletteColorProvider_start,   /* name */
  be_nested_proto(
    5,                          /* nstack */
    2,                          /* argc */
    10,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    0,                          /* has sup protos */
    NULL,                       /* no sub protos */
    1,                          /* has constants */
    &be_ktab_class_RichPaletteColorProvider,     /* shared constants */
    be_str_weak(start),
    &be_const_str_solidified,
    ( &(const binstruction[17]) {  /* code */
      0x8808010F,  //  0000  GETMBR	R2	R0	K15
      0x4C0C0000,  //  0001  LDNIL	R3
      0x1C080403,  //  0002  EQ	R2	R2	R3
      0x780A0005,  //  0003  JMPF	R2	#000A
      0x88080100,  //  0004  GETMBR	R2	R0	K0
      0x4C0C0000,  //  0005  LDNIL	R3
      0x1C080403,  //  0006  EQ	R2	R2	R3
      0x780A0001,  //  0007  JMPF	R2	#000A
      0x8C080101,  //  0008  GETMET	R2	R0	K1
      0x7C080200,  //  0009  CALL	R2	1
      0x60080003,  //  000A  GETGBL	R2	G3
      0x5C0C0000,  //  000B  MOVE	R3	R0
      0x7C080200,  //  000C  CALL	R2	1
      0x8C080530,  //  000D  GETMET	R2	R2	K48
      0x5C100200,  //  000E  MOVE	R4	R1
      0x7C080400,  //  000F  CALL	R2	2
      0x80040000,  //  0010  RET	1	R0
    })
  )
);
/*******************************************************************/


/********************************************************************
** Solidified function: produce_value
********************************************************************/
be_local_closure(class_RichPaletteColorProvider_produce_value,   /* name */
  be_nested_proto(
    28,                          /* nstack */
    3,                          /* argc */
    10,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    0,                          /* has sup protos */
    NULL,                       /* no sub protos */
    1,                          /* has constants */
    &be_ktab_class_RichPaletteColorProvider,     /* shared constants */
    be_str_weak(produce_value),
    &be_const_str_solidified,
    ( &(const binstruction[246]) {  /* code */
      0x8C0C0131,  //  0000  GETMET	R3	R0	K49
      0x5C140400,  //  0001  MOVE	R5	R2
      0x7C0C0400,  //  0002  CALL	R3	2
      0x5C080600,  //  0003  MOVE	R2	R3
      0x880C010F,  //  0004  GETMBR	R3	R0	K15
      0x4C100000,  //  0005  LDNIL	R4
      0x1C0C0604,  //  0006  EQ	R3	R3	R4
      0x780E0005,  //  0007  JMPF	R3	#000E
      0x880C0100,  //  0008  GETMBR	R3	R0	K0
      0x4C100000,  //  0009  LDNIL	R4
      0x1C0C0604,  //  000A  EQ	R3	R3	R4
      0x780E0001,  //  000B  JMPF	R3	#000E
      0x8C0C0101,  //  000C  GETMET	R3	R0	K1
      0x7C0C0200,  //  000D  CALL	R3	1
      0x8C0C010C,  //  000E  GETMET	R3	R0	K12
      0x7C0C0200,  //  000F  CALL	R3	1
      0x4C100000,  //  0010  LDNIL	R4
      0x1C100604,  //  0011  EQ	R4	R3	R4
      0x74120002,  //  0012  JMPT	R4	#0016
      0x8810010B,  //  0013  GETMBR	R4	R0	K11
      0x14100908,  //  0014  LT	R4	R4	K8
      0x78120001,  //  0015  JMPF	R4	#0018
      0x5411FFFE,  //  0016  LDINT	R4	-1
      0x80040800,  //  0017  RET	1	R4
      0x8810011E,  //  0018  GETMBR	R4	R0	K30
      0x88140114,  //  0019  GETMBR	R5	R0	K20
      0x1C180905,  //  001A  EQ	R6	R4	K5
      0x781A0039,  //  001B  JMPF	R6	#0056
      0x8C18070D,  //  001C  GETMET	R6	R3	K13
      0x58200005,  //  001D  LDCONST	R8	K5
      0x54260003,  //  001E  LDINT	R9	4
      0x7C180600,  //  001F  CALL	R6	3
      0x541E0007,  //  0020  LDINT	R7	8
      0x3C1C0C07,  //  0021  SHR	R7	R6	R7
      0x542200FE,  //  0022  LDINT	R8	255
      0x2C1C0E08,  //  0023  AND	R7	R7	R8
      0x5422000F,  //  0024  LDINT	R8	16
      0x3C200C08,  //  0025  SHR	R8	R6	R8
      0x542600FE,  //  0026  LDINT	R9	255
      0x2C201009,  //  0027  AND	R8	R8	R9
      0x54260017,  //  0028  LDINT	R9	24
      0x3C240C09,  //  0029  SHR	R9	R6	R9
      0x542A00FE,  //  002A  LDINT	R10	255
      0x2C24120A,  //  002B  AND	R9	R9	R10
      0x542A00FE,  //  002C  LDINT	R10	255
      0x20280A0A,  //  002D  NE	R10	R5	R10
      0x782A001A,  //  002E  JMPF	R10	#004A
      0xB82A5000,  //  002F  GETNGBL	R10	K40
      0x8C28152E,  //  0030  GETMET	R10	R10	K46
      0x5C300E00,  //  0031  MOVE	R12	R7
      0x58340005,  //  0032  LDCONST	R13	K5
      0x543A00FE,  //  0033  LDINT	R14	255
      0x583C0005,  //  0034  LDCONST	R15	K5
      0x5C400A00,  //  0035  MOVE	R16	R5
      0x7C280C00,  //  0036  CALL	R10	6
      0x5C1C1400,  //  0037  MOVE	R7	R10
      0xB82A5000,  //  0038  GETNGBL	R10	K40
      0x8C28152E,  //  0039  GETMET	R10	R10	K46
      0x5C301000,  //  003A  MOVE	R12	R8
      0x58340005,  //  003B  LDCONST	R13	K5
      0x543A00FE,  //  003C  LDINT	R14	255
      0x583C0005,  //  003D  LDCONST	R15	K5
      0x5C400A00,  //  003E  MOVE	R16	R5
      0x7C280C00,  //  003F  CALL	R10	6
      0x5C201400,  //  0040  MOVE	R8	R10
      0xB82A5000,  //  0041  GETNGBL	R10	K40
      0x8C28152E,  //  0042  GETMET	R10	R10	K46
      0x5C301200,  //  0043  MOVE	R12	R9
      0x58340005,  //  0044  LDCONST	R13	K5
      0x543A00FE,  //  0045  LDINT	R14	255
      0x583C0005,  //  0046  LDCONST	R15	K5
      0x5C400A00,  //  0047  MOVE	R16	R5
      0x7C280C00,  //  0048  CALL	R10	6
      0x5C241400,  //  0049  MOVE	R9	R10
      0x542A00FE,  //  004A  LDINT	R10	255
      0x542E0017,  //  004B  LDINT	R11	24
      0x3828140B,  //  004C  SHL	R10	R10	R11
      0x542E000F,  //  004D  LDINT	R11	16
      0x382C0E0B,  //  004E  SHL	R11	R7	R11
      0x3028140B,  //  004F  OR	R10	R10	R11
      0x542E0007,  //  0050  LDINT	R11	8
      0x382C100B,  //  0051  SHL	R11	R8	R11
      0x3028140B,  //  0052  OR	R10	R10	R11
      0x30281409,  //  0053  OR	R10	R10	R9
      0x9002400A,  //  0054  SETMBR	R0	K32	R10
      0x80041400,  //  0055  RET	1	R10
      0x88180132,  //  0056  GETMBR	R6	R0	K50
      0x04180406,  //  0057  SUB	R6	R2	R6
      0x101C0C04,  //  0058  MOD	R7	R6	R4
      0x8820010B,  //  0059  GETMBR	R8	R0	K11
      0x04241108,  //  005A  SUB	R9	R8	K8
      0x24281305,  //  005B  GT	R10	R9	K5
      0x782A0006,  //  005C  JMPF	R10	#0064
      0x8828010F,  //  005D  GETMBR	R10	R0	K15
      0x94281409,  //  005E  GETIDX	R10	R10	R9
      0x28280E0A,  //  005F  GE	R10	R7	R10
      0x782A0000,  //  0060  JMPF	R10	#0062
      0x70020001,  //  0061  JMP		#0064
      0x04241309,  //  0062  SUB	R9	R9	K9
      0x7001FFF6,  //  0063  JMP		#005B
      0x8C28070D,  //  0064  GETMET	R10	R3	K13
      0x54320003,  //  0065  LDINT	R12	4
      0x0830120C,  //  0066  MUL	R12	R9	R12
      0x54360003,  //  0067  LDINT	R13	4
      0x7C280600,  //  0068  CALL	R10	3
      0x8C2C070D,  //  0069  GETMET	R11	R3	K13
      0x00341309,  //  006A  ADD	R13	R9	K9
      0x543A0003,  //  006B  LDINT	R14	4
      0x08341A0E,  //  006C  MUL	R13	R13	R14
      0x543A0003,  //  006D  LDINT	R14	4
      0x7C2C0600,  //  006E  CALL	R11	3
      0x8830010F,  //  006F  GETMBR	R12	R0	K15
      0x94301809,  //  0070  GETIDX	R12	R12	R9
      0x00341309,  //  0071  ADD	R13	R9	K9
      0x8838010F,  //  0072  GETMBR	R14	R0	K15
      0x94341C0D,  //  0073  GETIDX	R13	R14	R13
      0x8C380110,  //  0074  GETMET	R14	R0	K16
      0x5C400E00,  //  0075  MOVE	R16	R7
      0x5C441800,  //  0076  MOVE	R17	R12
      0x5C481A00,  //  0077  MOVE	R18	R13
      0x544E0007,  //  0078  LDINT	R19	8
      0x3C4C1413,  //  0079  SHR	R19	R10	R19
      0x545200FE,  //  007A  LDINT	R20	255
      0x2C4C2614,  //  007B  AND	R19	R19	R20
      0x54520007,  //  007C  LDINT	R20	8
      0x3C501614,  //  007D  SHR	R20	R11	R20
      0x545600FE,  //  007E  LDINT	R21	255
      0x2C502815,  //  007F  AND	R20	R20	R21
      0x7C380C00,  //  0080  CALL	R14	6
      0x8C3C0110,  //  0081  GETMET	R15	R0	K16
      0x5C440E00,  //  0082  MOVE	R17	R7
      0x5C481800,  //  0083  MOVE	R18	R12
      0x5C4C1A00,  //  0084  MOVE	R19	R13
      0x5452000F,  //  0085  LDINT	R20	16
      0x3C501414,  //  0086  SHR	R20	R10	R20
      0x545600FE,  //  0087  LDINT	R21	255
      0x2C502815,  //  0088  AND	R20	R20	R21
      0x5456000F,  //  0089  LDINT	R21	16
      0x3C541615,  //  008A  SHR	R21	R11	R21
      0x545A00FE,  //  008B  LDINT	R22	255
      0x2C542A16,  //  008C  AND	R21	R21	R22
      0x7C3C0C00,  //  008D  CALL	R15	6
      0x8C400110,  //  008E  GETMET	R16	R0	K16
      0x5C480E00,  //  008F  MOVE	R18	R7
      0x5C4C1800,  //  0090  MOVE	R19	R12
      0x5C501A00,  //  0091  MOVE	R20	R13
      0x54560017,  //  0092  LDINT	R21	24
      0x3C541415,  //  0093  SHR	R21	R10	R21
      0x545A00FE,  //  0094  LDINT	R22	255
      0x2C542A16,  //  0095  AND	R21	R21	R22
      0x545A0017,  //  0096  LDINT	R22	24
      0x3C581616,  //  0097  SHR	R22	R11	R22
      0x545E00FE,  //  0098  LDINT	R23	255
      0x2C582C17,  //  0099  AND	R22	R22	R23
      0x7C400C00,  //  009A  CALL	R16	6
      0x88440124,  //  009B  GETMBR	R17	R0	K36
      0x8C482333,  //  009C  GETMET	R18	R17	K51
      0x54520007,  //  009D  LDINT	R20	8
      0x3C501414,  //  009E  SHR	R20	R10	R20
      0x545600FE,  //  009F  LDINT	R21	255
      0x2C502815,  //  00A0  AND	R20	R20	R21
      0x5456000F,  //  00A1  LDINT	R21	16
      0x3C541415,  //  00A2  SHR	R21	R10	R21
      0x545A00FE,  //  00A3  LDINT	R22	255
      0x2C542A16,  //  00A4  AND	R21	R21	R22
      0x545A0017,  //  00A5  LDINT	R22	24
      0x3C581416,  //  00A6  SHR	R22	R10	R22
      0x545E00FE,  //  00A7  LDINT	R23	255
      0x2C582C17,  //  00A8  AND	R22	R22	R23
      0x7C480800,  //  00A9  CALL	R18	4
      0x88482334,  //  00AA  GETMBR	R18	R17	K52
      0x8C4C2333,  //  00AB  GETMET	R19	R17	K51
      0x54560007,  //  00AC  LDINT	R21	8
      0x3C541615,  //  00AD  SHR	R21	R11	R21
      0x545A00FE,  //  00AE  LDINT	R22	255
      0x2C542A16,  //  00AF  AND	R21	R21	R22
      0x545A000F,  //  00B0  LDINT	R22	16
      0x3C581616,  //  00B1  SHR	R22	R11	R22
      0x545E00FE,  //  00B2  LDINT	R23	255
      0x2C582C17,  //  00B3  AND	R22	R22	R23
      0x545E0017,  //  00B4  LDINT	R23	24
      0x3C5C1617,  //  00B5  SHR	R23	R11	R23
      0x546200FE,  //  00B6  LDINT	R24	255
      0x2C5C2E18,  //  00B7  AND	R23	R23	R24
      0x7C4C0800,  //  00B8  CALL	R19	4
      0x884C2334,  //  00B9  GETMBR	R19	R17	K52
      0x8C500110,  //  00BA  GETMET	R20	R0	K16
      0x5C580E00,  //  00BB  MOVE	R22	R7
      0x5C5C1800,  //  00BC  MOVE	R23	R12
      0x5C601A00,  //  00BD  MOVE	R24	R13
      0x5C642400,  //  00BE  MOVE	R25	R18
      0x5C682600,  //  00BF  MOVE	R26	R19
      0x7C500C00,  //  00C0  CALL	R20	6
      0x8C542333,  //  00C1  GETMET	R21	R17	K51
      0x5C5C1C00,  //  00C2  MOVE	R23	R14
      0x5C601E00,  //  00C3  MOVE	R24	R15
      0x5C642000,  //  00C4  MOVE	R25	R16
      0x7C540800,  //  00C5  CALL	R21	4
      0x8C542335,  //  00C6  GETMET	R21	R17	K53
      0x5C5C2800,  //  00C7  MOVE	R23	R20
      0x7C540400,  //  00C8  CALL	R21	2
      0x88382336,  //  00C9  GETMBR	R14	R17	K54
      0x883C2337,  //  00CA  GETMBR	R15	R17	K55
      0x88402338,  //  00CB  GETMBR	R16	R17	K56
      0x545600FE,  //  00CC  LDINT	R21	255
      0x20540A15,  //  00CD  NE	R21	R5	R21
      0x7856001A,  //  00CE  JMPF	R21	#00EA
      0xB8565000,  //  00CF  GETNGBL	R21	K40
      0x8C542B2E,  //  00D0  GETMET	R21	R21	K46
      0x5C5C1C00,  //  00D1  MOVE	R23	R14
      0x58600005,  //  00D2  LDCONST	R24	K5
      0x546600FE,  //  00D3  LDINT	R25	255
      0x58680005,  //  00D4  LDCONST	R26	K5
      0x5C6C0A00,  //  00D5  MOVE	R27	R5
      0x7C540C00,  //  00D6  CALL	R21	6
      0x5C382A00,  //  00D7  MOVE	R14	R21
      0xB8565000,  //  00D8  GETNGBL	R21	K40
      0x8C542B2E,  //  00D9  GETMET	R21	R21	K46
      0x5C5C1E00,  //  00DA  MOVE	R23	R15
      0x58600005,  //  00DB  LDCONST	R24	K5
      0x546600FE,  //  00DC  LDINT	R25	255
      0x58680005,  //  00DD  LDCONST	R26	K5
      0x5C6C0A00,  //  00DE  MOVE	R27	R5
      0x7C540C00,  //  00DF  CALL	R21	6
      0x5C3C2A00,  //  00E0  MOVE	R15	R21
      0xB8565000,  //  00E1  GETNGBL	R21	K40
      0x8C542B2E,  //  00E2  GETMET	R21	R21	K46
      0x5C5C2000,  //  00E3  MOVE	R23	R16
      0x58600005,  //  00E4  LDCONST	R24	K5
      0x546600FE,  //  00E5  LDINT	R25	255
      0x58680005,  //  00E6  LDCONST	R26	K5
      0x5C6C0A00,  //  00E7  MOVE	R27	R5
      0x7C540C00,  //  00E8  CALL	R21	6
      0x5C402A00,  //  00E9  MOVE	R16	R21
      0x545600FE,  //  00EA  LDINT	R21	255
      0x545A0017,  //  00EB  LDINT	R22	24
      0x38542A16,  //  00EC  SHL	R21	R21	R22
      0x545A000F,  //  00ED  LDINT	R22	16
      0x38581C16,  //  00EE  SHL	R22	R14	R22
      0x30542A16,  //  00EF  OR	R21	R21	R22
      0x545A0007,  //  00F0  LDINT	R22	8
      0x38581E16,  //  00F1  SHL	R22	R15	R22
      0x30542A16,  //  00F2  OR	R21	R21	R22
      0x30542A10,  //  00F3  OR	R21	R21	R16
      0x90024015,  //  00F4  SETMBR	R0	K32	R21
      0x80042A00,  //  00F5  RET	1	R21
    })
  )
);
/*******************************************************************/


/********************************************************************
** Solidified function: get_color_for_value
********************************************************************/
be_local_closure(class_RichPaletteColorProvider_get_color_for_value,   /* name */
  be_nested_proto(
    16,                          /* nstack */
    3,                          /* argc */
    10,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    0,                          /* has sup protos */
    NULL,                       /* no sub protos */
    1,                          /* has constants */
    &be_ktab_class_RichPaletteColorProvider,     /* shared constants */
    be_str_weak(get_color_for_value),
    &be_const_str_solidified,
    ( &(const binstruction[65]) {  /* code */
      0x880C0104,  //  0000  GETMBR	R3	R0	K4
      0x3C0C0203,  //  0001  SHR	R3	R1	R3
      0x541200FE,  //  0002  LDINT	R4	255
      0x28100204,  //  0003  GE	R4	R1	R4
      0x78120000,  //  0004  JMPF	R4	#0006
      0x540E007F,  //  0005  LDINT	R3	128
      0x88100102,  //  0006  GETMBR	R4	R0	K2
      0x8C10090D,  //  0007  GETMET	R4	R4	K13
      0x541A0003,  //  0008  LDINT	R6	4
      0x08180606,  //  0009  MUL	R6	R3	R6
      0x541E0003,  //  000A  LDINT	R7	4
      0x7C100600,  //  000B  CALL	R4	3
      0x88140112,  //  000C  GETMBR	R5	R0	K18
      0x541A00FE,  //  000D  LDINT	R6	255
      0x20180A06,  //  000E  NE	R6	R5	R6
      0x781A002F,  //  000F  JMPF	R6	#0040
      0x541A000F,  //  0010  LDINT	R6	16
      0x3C180806,  //  0011  SHR	R6	R4	R6
      0x541E00FE,  //  0012  LDINT	R7	255
      0x2C180C07,  //  0013  AND	R6	R6	R7
      0x541E0007,  //  0014  LDINT	R7	8
      0x3C1C0807,  //  0015  SHR	R7	R4	R7
      0x542200FE,  //  0016  LDINT	R8	255
      0x2C1C0E08,  //  0017  AND	R7	R7	R8
      0x542200FE,  //  0018  LDINT	R8	255
      0x2C200808,  //  0019  AND	R8	R4	R8
      0xB8265000,  //  001A  GETNGBL	R9	K40
      0x8C24132E,  //  001B  GETMET	R9	R9	K46
      0x5C2C0C00,  //  001C  MOVE	R11	R6
      0x58300005,  //  001D  LDCONST	R12	K5
      0x543600FE,  //  001E  LDINT	R13	255
      0x58380005,  //  001F  LDCONST	R14	K5
      0x5C3C0A00,  //  0020  MOVE	R15	R5
      0x7C240C00,  //  0021  CALL	R9	6
      0x5C181200,  //  0022  MOVE	R6	R9
      0xB8265000,  //  0023  GETNGBL	R9	K40
      0x8C24132E,  //  0024  GETMET	R9	R9	K46
      0x5C2C0E00,  //  0025  MOVE	R11	R7
      0x58300005,  //  0026  LDCONST	R12	K5
      0x543600FE,  //  0027  LDINT	R13	255
      0x58380005,  //  0028  LDCONST	R14	K5
      0x5C3C0A00,  //  0029  MOVE	R15	R5
      0x7C240C00,  //  002A  CALL	R9	6
      0x5C1C1200,  //  002B  MOVE	R7	R9
      0xB8265000,  //  002C  GETNGBL	R9	K40
      0x8C24132E,  //  002D  GETMET	R9	R9	K46
      0x5C2C1000,  //  002E  MOVE	R11	R8
      0x58300005,  //  002F  LDCONST	R12	K5
      0x543600FE,  //  0030  LDINT	R13	255
      0x58380005,  //  0031  LDCONST	R14	K5
      0x5C3C0A00,  //  0032  MOVE	R15	R5
      0x7C240C00,  //  0033  CALL	R9	6
      0x5C201200,  //  0034  MOVE	R8	R9
      0x542600FE,  //  0035  LDINT	R9	255
      0x542A0017,  //  0036  LDINT	R10	24
      0x3824120A,  //  0037  SHL	R9	R9	R10
      0x542A000F,  //  0038  LDINT	R10	16
      0x38280C0A,  //  0039  SHL	R10	R6	R10
      0x3024120A,  //  003A  OR	R9	R9	R10
      0x542A0007,  //  003B  LDINT	R10	8
      0x38280E0A,  //  003C  SHL	R10	R7	R10
      0x3024120A,  //  003D  OR	R9	R9	R10
      0x30241208,  //  003E  OR	R9	R9	R8
      0x5C101200,  //  003F  MOVE	R4	R9
      0x80040800,  //  0040  RET	1	R4
    })
  )
);
/*******************************************************************/


/********************************************************************
** Solidified class: RichPaletteColorProvider
********************************************************************/
extern const bclass be_class_ColorProvider;
be_local_class(RichPaletteColorProvider,
    6,
    &be_class_ColorProvider,
    be_nested_map(23,
    ( (struct bmapnode*) &(const bmapnode[]) {
        { be_const_key_weak(get_color_for_value, 10), be_const_closure(class_RichPaletteColorProvider_get_color_for_value_closure) },
        { be_const_key_weak(_value_arr, -1), be_const_var(1) },
        { be_const_key_weak(_get_color_at_index, -1), be_const_closure(class_RichPaletteColorProvider__get_color_at_index_closure) },
        { be_const_key_weak(_get_color_for_value_uncached, -1), be_const_closure(class_RichPaletteColorProvider__get_color_for_value_uncached_closure) },
        { be_const_key_weak(update, -1), be_const_closure(class_RichPaletteColorProvider_update_closure) },
        { be_const_key_weak(_recompute_palette, -1), be_const_closure(class_RichPaletteColorProvider__recompute_palette_closure) },
        { be_const_key_weak(_slots, -1), be_const_var(2) },
        { be_const_key_weak(_brightness, -1), be_const_var(5) },
        { be_const_key_weak(to_css_gradient, -1), be_const_closure(class_RichPaletteColorProvider_to_css_gradient_closure) },
        { be_const_key_weak(tostring, 20), be_const_closure(class_RichPaletteColorProvider_tostring_closure) },
        { be_const_key_weak(produce_value, -1), be_const_closure(class_RichPaletteColorProvider_produce_value_closure) },
        { be_const_key_weak(start, 19), be_const_closure(class_RichPaletteColorProvider_start_closure) },
        { be_const_key_weak(_current_color, -1), be_const_var(3) },
        { be_const_key_weak(_interpolate, -1), be_const_closure(class_RichPaletteColorProvider__interpolate_closure) },
        { be_const_key_weak(_rebuild_color_lut, 11), be_const_closure(class_RichPaletteColorProvider__rebuild_color_lut_closure) },
        { be_const_key_weak(_parse_palette, -1), be_const_closure(class_RichPaletteColorProvider__parse_palette_closure) },
        { be_const_key_weak(on_param_changed, -1), be_const_closure(class_RichPaletteColorProvider_on_param_changed_closure) },
        { be_const_key_weak(_light_state, 13), be_const_var(4) },
        { be_const_key_weak(_get_palette_bytes, 12), be_const_closure(class_RichPaletteColorProvider__get_palette_bytes_closure) },
        { be_const_key_weak(init, 5), be_const_closure(class_RichPaletteColorProvider_init_closure) },
        { be_const_key_weak(PARAMS, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_map, {
        be_const_map( *     be_nested_map(3,
    ( (struct bmapnode*) &(const bmapnode[]) {
        { be_const_key_weak(cycle_period, 1), be_const_bytes_instance(050000018813) },
        { be_const_key_weak(transition_type, -1), be_const_bytes_instance(1400010200010005) },
        { be_const_key_weak(palette, -1), be_const_bytes_instance(0C0602) },
    }))    ) } )) },
        { be_const_key_weak(_slots_arr, -1), be_const_var(0) },
        { be_const_key_weak(_DEFAULT_PALETTE, 0), be_const_bytes_instance(00FF000024FFA50049FFFF006E00FF00920000FFB74B0082DBEE82EEFFFF0000) },
    })),
    be_str_weak(RichPaletteColorProvider)
);

/********************************************************************
** Solidified function: list_user_functions
********************************************************************/
be_local_closure(list_user_functions,   /* name */
  be_nested_proto(
    6,                          /* nstack */
    0,                          /* argc */
    0,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    0,                          /* has sup protos */
    NULL,                       /* no sub protos */
    1,                          /* has constants */
    ( &(const bvalue[ 5]) {     /* constants */
    /* K0   */  be_nested_str_weak(animation),
    /* K1   */  be_nested_str_weak(user_functions),
    /* K2   */  be_nested_str_weak(keys),
    /* K3   */  be_nested_str_weak(push),
    /* K4   */  be_nested_str_weak(stop_iteration),
    }),
    be_str_weak(list_user_functions),
    &be_const_str_solidified,
    ( &(const binstruction[19]) {  /* code */
      0x60000012,  //  0000  GETGBL	R0	G18
      0x7C000000,  //  0001  CALL	R0	0
      0x60040010,  //  0002  GETGBL	R1	G16
      0xB80A0000,  //  0003  GETNGBL	R2	K0
      0x88080501,  //  0004  GETMBR	R2	R2	K1
      0x8C080502,  //  0005  GETMET	R2	R2	K2
      0x7C080200,  //  0006  CALL	R2	1
      0x7C040200,  //  0007  CALL	R1	1
      0xA8020005,  //  0008  EXBLK	0	#000F
      0x5C080200,  //  0009  MOVE	R2	R1
      0x7C080000,  //  000A  CALL	R2	0
      0x8C0C0103,  //  000B  GETMET	R3	R0	K3
      0x5C140400,  //  000C  MOVE	R5	R2
      0x7C0C0400,  //  000D  CALL	R3	2
      0x7001FFF9,  //  000E  JMP		#0009
      0x58040004,  //  000F  LDCONST	R1	K4
      0xAC040200,  //  0010  CATCH	R1	1	0
      0xB0080000,  //  0011  RAISE	2	R0	R0
      0x80040000,  //  0012  RET	1	R0
    })
  )
);
/*******************************************************************/


/********************************************************************
** Solidified function: trigger_event
********************************************************************/
be_local_closure(trigger_event,   /* name */
  be_nested_proto(
    6,                          /* nstack */
    2,                          /* argc */
    0,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    0,                          /* has sup protos */
    NULL,                       /* no sub protos */
    1,                          /* has constants */
    ( &(const bvalue[ 3]) {     /* constants */
    /* K0   */  be_nested_str_weak(animation),
    /* K1   */  be_nested_str_weak(event_manager),
    /* K2   */  be_nested_str_weak(trigger_event),
    }),
    be_str_weak(trigger_event),
    &be_const_str_solidified,
    ( &(const binstruction[ 7]) {  /* code */
      0xB80A0000,  //  0000  GETNGBL	R2	K0
      0x88080501,  //  0001  GETMBR	R2	R2	K1
      0x8C080502,  //  0002  GETMET	R2	R2	K2
      0x5C100000,  //  0003  MOVE	R4	R0
      0x5C140200,  //  0004  MOVE	R5	R1
      0x7C080600,  //  0005  CALL	R2	3
      0x80000000,  //  0006  RET	0
    })
  )
);
/*******************************************************************/


/********************************************************************
** Solidified function: unregister_event_handler
********************************************************************/
be_local_closure(unregister_event_handler,   /* name */
  be_nested_proto(
    4,                          /* nstack */
    1,                          /* argc */
    0,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    0,                          /* has sup protos */
    NULL,                       /* no sub protos */
    1,                          /* has constants */
    ( &(const bvalue[ 3]) {     /* constants */
    /* K0   */  be_nested_str_weak(animation),
    /* K1   */  be_nested_str_weak(event_manager),
    /* K2   */  be_nested_str_weak(unregister_handler),
    }),
    be_str_weak(unregister_event_handler),
    &be_const_str_solidified,
    ( &(const binstruction[ 6]) {  /* code */
      0xB8060000,  //  0000  GETNGBL	R1	K0
      0x88040301,  //  0001  GETMBR	R1	R1	K1
      0x8C040302,  //  0002  GETMET	R1	R1	K2
      0x5C0C0000,  //  0003  MOVE	R3	R0
      0x7C040400,  //  0004  CALL	R1	2
      0x80000000,  //  0005  RET	0
    })
  )
);
/*******************************************************************/

// compact class 'StaticColorProvider' ktab size: 4, total: 8 (saved 32 bytes)
static const bvalue be_ktab_class_StaticColorProvider[4] = {
  /* K0   */  be_nested_str_weak(color),
  /* K1   */  be_nested_str_weak(brightness),
  /* K2   */  be_nested_str_weak(apply_brightness),
  /* K3   */  be_nested_str_weak(StaticColorProvider_X28color_X3D0x_X2508X_X29),
};


extern const bclass be_class_StaticColorProvider;

/********************************************************************
** Solidified function: produce_value
********************************************************************/
be_local_closure(class_StaticColorProvider_produce_value,   /* name */
  be_nested_proto(
    9,                          /* nstack */
    3,                          /* argc */
    10,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    0,                          /* has sup protos */
    NULL,                       /* no sub protos */
    1,                          /* has constants */
    &be_ktab_class_StaticColorProvider,     /* shared constants */
    be_str_weak(produce_value),
    &be_const_str_solidified,
    ( &(const binstruction[11]) {  /* code */
      0x880C0100,  //  0000  GETMBR	R3	R0	K0
      0x88100101,  //  0001  GETMBR	R4	R0	K1
      0x541600FE,  //  0002  LDINT	R5	255
      0x20140805,  //  0003  NE	R5	R4	R5
      0x78160004,  //  0004  JMPF	R5	#000A
      0x8C140102,  //  0005  GETMET	R5	R0	K2
      0x5C1C0600,  //  0006  MOVE	R7	R3
      0x5C200800,  //  0007  MOVE	R8	R4
      0x7C140600,  //  0008  CALL	R5	3
      0x80040A00,  //  0009  RET	1	R5
      0x80040600,  //  000A  RET	1	R3
    })
  )
);
/*******************************************************************/


/********************************************************************
** Solidified function: tostring
********************************************************************/
be_local_closure(class_StaticColorProvider_tostring,   /* name */
  be_nested_proto(
    4,                          /* nstack */
    1,                          /* argc */
    10,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    0,                          /* has sup protos */
    NULL,                       /* no sub protos */
    1,                          /* has constants */
    &be_ktab_class_StaticColorProvider,     /* shared constants */
    be_str_weak(tostring),
    &be_const_str_solidified,
    ( &(const binstruction[ 5]) {  /* code */
      0x60040018,  //  0000  GETGBL	R1	G24
      0x58080003,  //  0001  LDCONST	R2	K3
      0x880C0100,  //  0002  GETMBR	R3	R0	K0
      0x7C040400,  //  0003  CALL	R1	2
      0x80040200,  //  0004  RET	1	R1
    })
  )
);
/*******************************************************************/


/********************************************************************
** Solidified function: get_color_for_value
********************************************************************/
be_local_closure(class_StaticColorProvider_get_color_for_value,   /* name */
  be_nested_proto(
    9,                          /* nstack */
    3,                          /* argc */
    10,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    0,                          /* has sup protos */
    NULL,                       /* no sub protos */
    1,                          /* has constants */
    &be_ktab_class_StaticColorProvider,     /* shared constants */
    be_str_weak(get_color_for_value),
    &be_const_str_solidified,
    ( &(const binstruction[11]) {  /* code */
      0x880C0100,  //  0000  GETMBR	R3	R0	K0
      0x88100101,  //  0001  GETMBR	R4	R0	K1
      0x541600FE,  //  0002  LDINT	R5	255
      0x20140805,  //  0003  NE	R5	R4	R5
      0x78160004,  //  0004  JMPF	R5	#000A
      0x8C140102,  //  0005  GETMET	R5	R0	K2
      0x5C1C0600,  //  0006  MOVE	R7	R3
      0x5C200800,  //  0007  MOVE	R8	R4
      0x7C140600,  //  0008  CALL	R5	3
      0x80040A00,  //  0009  RET	1	R5
      0x80040600,  //  000A  RET	1	R3
    })
  )
);
/*******************************************************************/


/********************************************************************
** Solidified class: StaticColorProvider
********************************************************************/
extern const bclass be_class_ColorProvider;
be_local_class(StaticColorProvider,
    0,
    &be_class_ColorProvider,
    be_nested_map(4,
    ( (struct bmapnode*) &(const bmapnode[]) {
        { be_const_key_weak(tostring, -1), be_const_closure(class_StaticColorProvider_tostring_closure) },
        { be_const_key_weak(produce_value, 2), be_const_closure(class_StaticColorProvider_produce_value_closure) },
        { be_const_key_weak(get_color_for_value, 0), be_const_closure(class_StaticColorProvider_get_color_for_value_closure) },
        { be_const_key_weak(PARAMS, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_map, {
        be_const_map( *     be_nested_map(1,
    ( (struct bmapnode*) &(const bmapnode[]) {
        { be_const_key_weak(color, -1), be_const_bytes_instance(0400FF) },
    }))    ) } )) },
    })),
    be_str_weak(StaticColorProvider)
);
// compact class 'TwinkleAnimation' ktab size: 40, total: 64 (saved 192 bytes)
static const bvalue be_ktab_class_TwinkleAnimation[40] = {
  /* K0   */  be_nested_str_weak(get_param),
  /* K1   */  be_nested_str_weak(color),
  /* K2   */  be_nested_str_weak(animation),
  /* K3   */  be_nested_str_weak(is_value_provider),
  /* K4   */  be_nested_str_weak(0x_X2508x),
  /* K5   */  be_nested_str_weak(TwinkleAnimation_X28color_X3D_X25s_X2C_X20density_X3D_X25s_X2C_X20twinkle_speed_X3D_X25s_X2C_X20priority_X3D_X25s_X2C_X20running_X3D_X25s_X29),
  /* K6   */  be_nested_str_weak(density),
  /* K7   */  be_nested_str_weak(twinkle_speed),
  /* K8   */  be_nested_str_weak(priority),
  /* K9   */  be_nested_str_weak(is_running),
  /* K10  */  be_nested_str_weak(on_param_changed),
  /* K11  */  be_const_int(1),
  /* K12  */  be_nested_str_weak(set_param),
  /* K13  */  be_const_int(0),
  /* K14  */  be_nested_str_weak(_random),
  /* K15  */  be_nested_str_weak(random_seed),
  /* K16  */  be_const_int(1103515245),
  /* K17  */  be_const_int(2147483647),
  /* K18  */  be_nested_str_weak(init),
  /* K19  */  be_nested_str_weak(current_colors),
  /* K20  */  be_nested_str_weak(last_update),
  /* K21  */  be_nested_str_weak(engine),
  /* K22  */  be_nested_str_weak(time_ms),
  /* K23  */  be_nested_str_weak(_initialize_arrays),
  /* K24  */  be_nested_str_weak(fade_speed),
  /* K25  */  be_nested_str_weak(min_brightness),
  /* K26  */  be_nested_str_weak(max_brightness),
  /* K27  */  be_nested_str_weak(strip_length),
  /* K28  */  be_nested_str_weak(size),
  /* K29  */  be_nested_str_weak(get),
  /* K30  */  be_nested_str_weak(tasmota),
  /* K31  */  be_nested_str_weak(scale_uint),
  /* K32  */  be_nested_str_weak(set),
  /* K33  */  be_const_int(16777215),
  /* K34  */  be_nested_str_weak(_random_range),
  /* K35  */  be_nested_str_weak(clear),
  /* K36  */  be_nested_str_weak(resize),
  /* K37  */  be_nested_str_weak(width),
  /* K38  */  be_nested_str_weak(set_pixel_color),
  /* K39  */  be_nested_str_weak(_update_twinkle_simulation),
};


extern const bclass be_class_TwinkleAnimation;

/********************************************************************
** Solidified function: tostring
********************************************************************/
be_local_closure(class_TwinkleAnimation_tostring,   /* name */
  be_nested_proto(
    10,                          /* nstack */
    1,                          /* argc */
    10,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    0,                          /* has sup protos */
    NULL,                       /* no sub protos */
    1,                          /* has constants */
    &be_ktab_class_TwinkleAnimation,     /* shared constants */
    be_str_weak(tostring),
    &be_const_str_solidified,
    ( &(const binstruction[28]) {  /* code */
      0x4C040000,  //  0000  LDNIL	R1
      0x8C080100,  //  0001  GETMET	R2	R0	K0
      0x58100001,  //  0002  LDCONST	R4	K1
      0x7C080400,  //  0003  CALL	R2	2
      0xB80E0400,  //  0004  GETNGBL	R3	K2
      0x8C0C0703,  //  0005  GETMET	R3	R3	K3
      0x5C140400,  //  0006  MOVE	R5	R2
      0x7C0C0400,  //  0007  CALL	R3	2
      0x780E0004,  //  0008  JMPF	R3	#000E
      0x600C0008,  //  0009  GETGBL	R3	G8
      0x5C100400,  //  000A  MOVE	R4	R2
      0x7C0C0200,  //  000B  CALL	R3	1
      0x5C040600,  //  000C  MOVE	R1	R3
      0x70020004,  //  000D  JMP		#0013
      0x600C0018,  //  000E  GETGBL	R3	G24
      0x58100004,  //  000F  LDCONST	R4	K4
      0x88140101,  //  0010  GETMBR	R5	R0	K1
      0x7C0C0400,  //  0011  CALL	R3	2
      0x5C040600,  //  0012  MOVE	R1	R3
      0x600C0018,  //  0013  GETGBL	R3	G24
      0x58100005,  //  0014  LDCONST	R4	K5
      0x5C140200,  //  0015  MOVE	R5	R1
      0x88180106,  //  0016  GETMBR	R6	R0	K6
      0x881C0107,  //  0017  GETMBR	R7	R0	K7
      0x88200108,  //  0018  GETMBR	R8	R0	K8
      0x88240109,  //  0019  GETMBR	R9	R0	K9
      0x7C0C0C00,  //  001A  CALL	R3	6
      0x80040600,  //  001B  RET	1	R3
    })
  )
);
/*******************************************************************/


/********************************************************************
** Solidified function: on_param_changed
********************************************************************/
be_local_closure(class_TwinkleAnimation_on_param_changed,   /* name */
  be_nested_proto(
    8,                          /* nstack */
    3,                          /* argc */
    10,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    0,                          /* has sup protos */
    NULL,                       /* no sub protos */
    1,                          /* has constants */
    &be_ktab_class_TwinkleAnimation,     /* shared constants */
    be_str_weak(on_param_changed),
    &be_const_str_solidified,
    ( &(const binstruction[27]) {  /* code */
      0x600C0003,  //  0000  GETGBL	R3	G3
      0x5C100000,  //  0001  MOVE	R4	R0
      0x7C0C0200,  //  0002  CALL	R3	1
      0x8C0C070A,  //  0003  GETMET	R3	R3	K10
      0x5C140200,  //  0004  MOVE	R5	R1
      0x5C180400,  //  0005  MOVE	R6	R2
      0x7C0C0600,  //  0006  CALL	R3	3
      0x1C0C0307,  //  0007  EQ	R3	R1	K7
      0x780E0010,  //  0008  JMPF	R3	#001A
      0x540E0031,  //  0009  LDINT	R3	50
      0x280C0403,  //  000A  GE	R3	R2	R3
      0x780E000D,  //  000B  JMPF	R3	#001A
      0x540E03E7,  //  000C  LDINT	R3	1000
      0x0C0C0602,  //  000D  DIV	R3	R3	R2
      0x1410070B,  //  000E  LT	R4	R3	K11
      0x78120001,  //  000F  JMPF	R4	#0012
      0x580C000B,  //  0010  LDCONST	R3	K11
      0x70020003,  //  0011  JMP		#0016
      0x54120013,  //  0012  LDINT	R4	20
      0x24100604,  //  0013  GT	R4	R3	R4
      0x78120000,  //  0014  JMPF	R4	#0016
      0x540E0013,  //  0015  LDINT	R3	20
      0x8C10010C,  //  0016  GETMET	R4	R0	K12
      0x58180007,  //  0017  LDCONST	R6	K7
      0x5C1C0600,  //  0018  MOVE	R7	R3
      0x7C100600,  //  0019  CALL	R4	3
      0x80000000,  //  001A  RET	0
    })
  )
);
/*******************************************************************/


/********************************************************************
** Solidified function: _random_range
********************************************************************/
be_local_closure(class_TwinkleAnimation__random_range,   /* name */
  be_nested_proto(
    4,                          /* nstack */
    2,                          /* argc */
    10,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    0,                          /* has sup protos */
    NULL,                       /* no sub protos */
    1,                          /* has constants */
    &be_ktab_class_TwinkleAnimation,     /* shared constants */
    be_str_weak(_random_range),
    &be_const_str_solidified,
    ( &(const binstruction[ 7]) {  /* code */
      0x1808030D,  //  0000  LE	R2	R1	K13
      0x780A0000,  //  0001  JMPF	R2	#0003
      0x80061A00,  //  0002  RET	1	K13
      0x8C08010E,  //  0003  GETMET	R2	R0	K14
      0x7C080200,  //  0004  CALL	R2	1
      0x10080401,  //  0005  MOD	R2	R2	R1
      0x80040400,  //  0006  RET	1	R2
    })
  )
);
/*******************************************************************/


/********************************************************************
** Solidified function: _random
********************************************************************/
be_local_closure(class_TwinkleAnimation__random,   /* name */
  be_nested_proto(
    3,                          /* nstack */
    1,                          /* argc */
    10,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    0,                          /* has sup protos */
    NULL,                       /* no sub protos */
    1,                          /* has constants */
    &be_ktab_class_TwinkleAnimation,     /* shared constants */
    be_str_weak(_random),
    &be_const_str_solidified,
    ( &(const binstruction[ 8]) {  /* code */
      0x8804010F,  //  0000  GETMBR	R1	R0	K15
      0x08040310,  //  0001  MUL	R1	R1	K16
      0x540A3038,  //  0002  LDINT	R2	12345
      0x00040202,  //  0003  ADD	R1	R1	R2
      0x2C040311,  //  0004  AND	R1	R1	K17
      0x90021E01,  //  0005  SETMBR	R0	K15	R1
      0x8804010F,  //  0006  GETMBR	R1	R0	K15
      0x80040200,  //  0007  RET	1	R1
    })
  )
);
/*******************************************************************/


/********************************************************************
** Solidified function: init
********************************************************************/
be_local_closure(class_TwinkleAnimation_init,   /* name */
  be_nested_proto(
    5,                          /* nstack */
    2,                          /* argc */
    10,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    0,                          /* has sup protos */
    NULL,                       /* no sub protos */
    1,                          /* has constants */
    &be_ktab_class_TwinkleAnimation,     /* shared constants */
    be_str_weak(init),
    &be_const_str_solidified,
    ( &(const binstruction[18]) {  /* code */
      0x60080003,  //  0000  GETGBL	R2	G3
      0x5C0C0000,  //  0001  MOVE	R3	R0
      0x7C080200,  //  0002  CALL	R2	1
      0x8C080512,  //  0003  GETMET	R2	R2	K18
      0x5C100200,  //  0004  MOVE	R4	R1
      0x7C080400,  //  0005  CALL	R2	2
      0x60080015,  //  0006  GETGBL	R2	G21
      0x7C080000,  //  0007  CALL	R2	0
      0x90022602,  //  0008  SETMBR	R0	K19	R2
      0x9002290D,  //  0009  SETMBR	R0	K20	K13
      0x88080115,  //  000A  GETMBR	R2	R0	K21
      0x88080516,  //  000B  GETMBR	R2	R2	K22
      0x540EFFFF,  //  000C  LDINT	R3	65536
      0x10080403,  //  000D  MOD	R2	R2	R3
      0x90021E02,  //  000E  SETMBR	R0	K15	R2
      0x8C080117,  //  000F  GETMET	R2	R0	K23
      0x7C080200,  //  0010  CALL	R2	1
      0x80000000,  //  0011  RET	0
    })
  )
);
/*******************************************************************/


/********************************************************************
** Solidified function: _update_twinkle_simulation
********************************************************************/
be_local_closure(class_TwinkleAnimation__update_twinkle_simulation,   /* name */
  be_nested_proto(
    22,                          /* nstack */
    2,                          /* argc */
    10,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    0,                          /* has sup protos */
    NULL,                       /* no sub protos */
    1,                          /* has constants */
    &be_ktab_class_TwinkleAnimation,     /* shared constants */
    be_str_weak(_update_twinkle_simulation),
    &be_const_str_solidified,
    ( &(const binstruction[116]) {  /* code */
      0x88080118,  //  0000  GETMBR	R2	R0	K24
      0x880C0106,  //  0001  GETMBR	R3	R0	K6
      0x88100119,  //  0002  GETMBR	R4	R0	K25
      0x8814011A,  //  0003  GETMBR	R5	R0	K26
      0x88180101,  //  0004  GETMBR	R6	R0	K1
      0x881C0115,  //  0005  GETMBR	R7	R0	K21
      0x881C0F1B,  //  0006  GETMBR	R7	R7	K27
      0x88200113,  //  0007  GETMBR	R8	R0	K19
      0x8C20111C,  //  0008  GETMET	R8	R8	K28
      0x7C200200,  //  0009  CALL	R8	1
      0x54260003,  //  000A  LDINT	R9	4
      0x08240E09,  //  000B  MUL	R9	R7	R9
      0x20201009,  //  000C  NE	R8	R8	R9
      0x78220001,  //  000D  JMPF	R8	#0010
      0x8C200117,  //  000E  GETMET	R8	R0	K23
      0x7C200200,  //  000F  CALL	R8	1
      0x5820000D,  //  0010  LDCONST	R8	K13
      0x14241007,  //  0011  LT	R9	R8	R7
      0x7826002A,  //  0012  JMPF	R9	#003E
      0x88240113,  //  0013  GETMBR	R9	R0	K19
      0x8C24131D,  //  0014  GETMET	R9	R9	K29
      0x542E0003,  //  0015  LDINT	R11	4
      0x082C100B,  //  0016  MUL	R11	R8	R11
      0x5431FFFB,  //  0017  LDINT	R12	-4
      0x7C240600,  //  0018  CALL	R9	3
      0x542A0017,  //  0019  LDINT	R10	24
      0x3C28120A,  //  001A  SHR	R10	R9	R10
      0x542E00FE,  //  001B  LDINT	R11	255
      0x2C28140B,  //  001C  AND	R10	R10	R11
      0x242C150D,  //  001D  GT	R11	R10	K13
      0x782E001C,  //  001E  JMPF	R11	#003C
      0xB82E3C00,  //  001F  GETNGBL	R11	K30
      0x8C2C171F,  //  0020  GETMET	R11	R11	K31
      0x5C340400,  //  0021  MOVE	R13	R2
      0x5838000D,  //  0022  LDCONST	R14	K13
      0x543E00FE,  //  0023  LDINT	R15	255
      0x5840000B,  //  0024  LDCONST	R16	K11
      0x54460013,  //  0025  LDINT	R17	20
      0x7C2C0C00,  //  0026  CALL	R11	6
      0x1830140B,  //  0027  LE	R12	R10	R11
      0x78320007,  //  0028  JMPF	R12	#0031
      0x88300113,  //  0029  GETMBR	R12	R0	K19
      0x8C301920,  //  002A  GETMET	R12	R12	K32
      0x543A0003,  //  002B  LDINT	R14	4
      0x0838100E,  //  002C  MUL	R14	R8	R14
      0x583C000D,  //  002D  LDCONST	R15	K13
      0x5441FFFB,  //  002E  LDINT	R16	-4
      0x7C300800,  //  002F  CALL	R12	4
      0x7002000A,  //  0030  JMP		#003C
      0x0430140B,  //  0031  SUB	R12	R10	R11
      0x2C341321,  //  0032  AND	R13	R9	K33
      0x88380113,  //  0033  GETMBR	R14	R0	K19
      0x8C381D20,  //  0034  GETMET	R14	R14	K32
      0x54420003,  //  0035  LDINT	R16	4
      0x08401010,  //  0036  MUL	R16	R8	R16
      0x54460017,  //  0037  LDINT	R17	24
      0x38441811,  //  0038  SHL	R17	R12	R17
      0x3044220D,  //  0039  OR	R17	R17	R13
      0x5449FFFB,  //  003A  LDINT	R18	-4
      0x7C380800,  //  003B  CALL	R14	4
      0x0020110B,  //  003C  ADD	R8	R8	K11
      0x7001FFD2,  //  003D  JMP		#0011
      0x5824000D,  //  003E  LDCONST	R9	K13
      0x14281207,  //  003F  LT	R10	R9	R7
      0x782A0031,  //  0040  JMPF	R10	#0073
      0x88280113,  //  0041  GETMBR	R10	R0	K19
      0x8C28151D,  //  0042  GETMET	R10	R10	K29
      0x54320003,  //  0043  LDINT	R12	4
      0x0830120C,  //  0044  MUL	R12	R9	R12
      0x5435FFFB,  //  0045  LDINT	R13	-4
      0x7C280600,  //  0046  CALL	R10	3
      0x542E0017,  //  0047  LDINT	R11	24
      0x3C2C140B,  //  0048  SHR	R11	R10	R11
      0x543200FE,  //  0049  LDINT	R12	255
      0x2C2C160C,  //  004A  AND	R11	R11	R12
      0x1C30170D,  //  004B  EQ	R12	R11	K13
      0x78320023,  //  004C  JMPF	R12	#0071
      0x8C300122,  //  004D  GETMET	R12	R0	K34
      0x543A00FE,  //  004E  LDINT	R14	255
      0x7C300400,  //  004F  CALL	R12	2
      0x14301803,  //  0050  LT	R12	R12	R3
      0x7832001E,  //  0051  JMPF	R12	#0071
      0x8C300122,  //  0052  GETMET	R12	R0	K34
      0x04380A04,  //  0053  SUB	R14	R5	R4
      0x00381D0B,  //  0054  ADD	R14	R14	K11
      0x7C300400,  //  0055  CALL	R12	2
      0x0030080C,  //  0056  ADD	R12	R4	R12
      0x5C340C00,  //  0057  MOVE	R13	R6
      0x543A000F,  //  0058  LDINT	R14	16
      0x3C381A0E,  //  0059  SHR	R14	R13	R14
      0x543E00FE,  //  005A  LDINT	R15	255
      0x2C381C0F,  //  005B  AND	R14	R14	R15
      0x543E0007,  //  005C  LDINT	R15	8
      0x3C3C1A0F,  //  005D  SHR	R15	R13	R15
      0x544200FE,  //  005E  LDINT	R16	255
      0x2C3C1E10,  //  005F  AND	R15	R15	R16
      0x544200FE,  //  0060  LDINT	R16	255
      0x2C401A10,  //  0061  AND	R16	R13	R16
      0x88440113,  //  0062  GETMBR	R17	R0	K19
      0x8C442320,  //  0063  GETMET	R17	R17	K32
      0x544E0003,  //  0064  LDINT	R19	4
      0x084C1213,  //  0065  MUL	R19	R9	R19
      0x54520017,  //  0066  LDINT	R20	24
      0x38501814,  //  0067  SHL	R20	R12	R20
      0x5456000F,  //  0068  LDINT	R21	16
      0x38541C15,  //  0069  SHL	R21	R14	R21
      0x30502815,  //  006A  OR	R20	R20	R21
      0x54560007,  //  006B  LDINT	R21	8
      0x38541E15,  //  006C  SHL	R21	R15	R21
      0x30502815,  //  006D  OR	R20	R20	R21
      0x30502810,  //  006E  OR	R20	R20	R16
      0x5455FFFB,  //  006F  LDINT	R21	-4
      0x7C440800,  //  0070  CALL	R17	4
      0x0024130B,  //  0071  ADD	R9	R9	K11
      0x7001FFCB,  //  0072  JMP		#003F
      0x80000000,  //  0073  RET	0
    })
  )
);
/*******************************************************************/


/********************************************************************
** Solidified function: _initialize_arrays
********************************************************************/
be_local_closure(class_TwinkleAnimation__initialize_arrays,   /* name */
  be_nested_proto(
    8,                          /* nstack */
    1,                          /* argc */
    10,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    0,                          /* has sup protos */
    NULL,                       /* no sub protos */
    1,                          /* has constants */
    &be_ktab_class_TwinkleAnimation,     /* shared constants */
    be_str_weak(_initialize_arrays),
    &be_const_str_solidified,
    ( &(const binstruction[23]) {  /* code */
      0x88040115,  //  0000  GETMBR	R1	R0	K21
      0x8804031B,  //  0001  GETMBR	R1	R1	K27
      0x88080113,  //  0002  GETMBR	R2	R0	K19
      0x8C080523,  //  0003  GETMET	R2	R2	K35
      0x7C080200,  //  0004  CALL	R2	1
      0x88080113,  //  0005  GETMBR	R2	R0	K19
      0x8C080524,  //  0006  GETMET	R2	R2	K36
      0x54120003,  //  0007  LDINT	R4	4
      0x08100204,  //  0008  MUL	R4	R1	R4
      0x7C080400,  //  0009  CALL	R2	2
      0x5808000D,  //  000A  LDCONST	R2	K13
      0x140C0401,  //  000B  LT	R3	R2	R1
      0x780E0008,  //  000C  JMPF	R3	#0016
      0x880C0113,  //  000D  GETMBR	R3	R0	K19
      0x8C0C0720,  //  000E  GETMET	R3	R3	K32
      0x54160003,  //  000F  LDINT	R5	4
      0x08140405,  //  0010  MUL	R5	R2	R5
      0x5818000D,  //  0011  LDCONST	R6	K13
      0x541DFFFB,  //  0012  LDINT	R7	-4
      0x7C0C0800,  //  0013  CALL	R3	4
      0x0008050B,  //  0014  ADD	R2	R2	K11
      0x7001FFF4,  //  0015  JMP		#000B
      0x80000000,  //  0016  RET	0
    })
  )
);
/*******************************************************************/


/********************************************************************
** Solidified function: render
********************************************************************/
be_local_closure(class_TwinkleAnimation_render,   /* name */
  be_nested_proto(
    11,                          /* nstack */
    4,                          /* argc */
    10,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    0,                          /* has sup protos */
    NULL,                       /* no sub protos */
    1,                          /* has constants */
    &be_ktab_class_TwinkleAnimation,     /* shared constants */
    be_str_weak(render),
    &be_const_str_solidified,
    ( &(const binstruction[36]) {  /* code */
      0x88100113,  //  0000  GETMBR	R4	R0	K19
      0x8C10091C,  //  0001  GETMET	R4	R4	K28
      0x7C100200,  //  0002  CALL	R4	1
      0x54160003,  //  0003  LDINT	R5	4
      0x08140605,  //  0004  MUL	R5	R3	R5
      0x20100805,  //  0005  NE	R4	R4	R5
      0x78120001,  //  0006  JMPF	R4	#0009
      0x8C100117,  //  0007  GETMET	R4	R0	K23
      0x7C100200,  //  0008  CALL	R4	1
      0x50100000,  //  0009  LDBOOL	R4	0	0
      0x5814000D,  //  000A  LDCONST	R5	K13
      0x14180A03,  //  000B  LT	R6	R5	R3
      0x781A0015,  //  000C  JMPF	R6	#0023
      0x88180325,  //  000D  GETMBR	R6	R1	K37
      0x14180A06,  //  000E  LT	R6	R5	R6
      0x781A0010,  //  000F  JMPF	R6	#0021
      0x88180113,  //  0010  GETMBR	R6	R0	K19
      0x8C180D1D,  //  0011  GETMET	R6	R6	K29
      0x54220003,  //  0012  LDINT	R8	4
      0x08200A08,  //  0013  MUL	R8	R5	R8
      0x5425FFFB,  //  0014  LDINT	R9	-4
      0x7C180600,  //  0015  CALL	R6	3
      0x541E0017,  //  0016  LDINT	R7	24
      0x3C1C0C07,  //  0017  SHR	R7	R6	R7
      0x542200FE,  //  0018  LDINT	R8	255
      0x2C1C0E08,  //  0019  AND	R7	R7	R8
      0x241C0F0D,  //  001A  GT	R7	R7	K13
      0x781E0004,  //  001B  JMPF	R7	#0021
      0x8C1C0326,  //  001C  GETMET	R7	R1	K38
      0x5C240A00,  //  001D  MOVE	R9	R5
      0x5C280C00,  //  001E  MOVE	R10	R6
      0x7C1C0600,  //  001F  CALL	R7	3
      0x50100200,  //  0020  LDBOOL	R4	1	0
      0x00140B0B,  //  0021  ADD	R5	R5	K11
      0x7001FFE7,  //  0022  JMP		#000B
      0x80040800,  //  0023  RET	1	R4
    })
  )
);
/*******************************************************************/


/********************************************************************
** Solidified function: update
********************************************************************/
be_local_closure(class_TwinkleAnimation_update,   /* name */
  be_nested_proto(
    7,                          /* nstack */
    2,                          /* argc */
    10,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    0,                          /* has sup protos */
    NULL,                       /* no sub protos */
    1,                          /* has constants */
    &be_ktab_class_TwinkleAnimation,     /* shared constants */
    be_str_weak(update),
    &be_const_str_solidified,
    ( &(const binstruction[12]) {  /* code */
      0x88080107,  //  0000  GETMBR	R2	R0	K7
      0x540E03E7,  //  0001  LDINT	R3	1000
      0x0C0C0602,  //  0002  DIV	R3	R3	R2
      0x88100114,  //  0003  GETMBR	R4	R0	K20
      0x04100204,  //  0004  SUB	R4	R1	R4
      0x28100803,  //  0005  GE	R4	R4	R3
      0x78120003,  //  0006  JMPF	R4	#000B
      0x90022801,  //  0007  SETMBR	R0	K20	R1
      0x8C100127,  //  0008  GETMET	R4	R0	K39
      0x5C180200,  //  0009  MOVE	R6	R1
      0x7C100400,  //  000A  CALL	R4	2
      0x80000000,  //  000B  RET	0
    })
  )
);
/*******************************************************************/


/********************************************************************
** Solidified class: TwinkleAnimation
********************************************************************/
extern const bclass be_class_Animation;
be_local_class(TwinkleAnimation,
    3,
    &be_class_Animation,
    be_nested_map(13,
    ( (struct bmapnode*) &(const bmapnode[]) {
        { be_const_key_weak(tostring, 10), be_const_closure(class_TwinkleAnimation_tostring_closure) },
        { be_const_key_weak(last_update, 2), be_const_var(1) },
        { be_const_key_weak(_random, -1), be_const_closure(class_TwinkleAnimation__random_closure) },
        { be_const_key_weak(_random_range, 7), be_const_closure(class_TwinkleAnimation__random_range_closure) },
        { be_const_key_weak(init, -1), be_const_closure(class_TwinkleAnimation_init_closure) },
        { be_const_key_weak(random_seed, -1), be_const_var(2) },
        { be_const_key_weak(on_param_changed, 4), be_const_closure(class_TwinkleAnimation_on_param_changed_closure) },
        { be_const_key_weak(render, -1), be_const_closure(class_TwinkleAnimation_render_closure) },
        { be_const_key_weak(_update_twinkle_simulation, -1), be_const_closure(class_TwinkleAnimation__update_twinkle_simulation_closure) },
        { be_const_key_weak(_initialize_arrays, -1), be_const_closure(class_TwinkleAnimation__initialize_arrays_closure) },
        { be_const_key_weak(current_colors, -1), be_const_var(0) },
        { be_const_key_weak(PARAMS, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_map, {
        be_const_map( *     be_nested_map(6,
    ( (struct bmapnode*) &(const bmapnode[]) {
        { be_const_key_weak(twinkle_speed, 1), be_const_bytes_instance(0700010188130006) },
        { be_const_key_weak(min_brightness, -1), be_const_bytes_instance(07000001FF000020) },
        { be_const_key_weak(density, -1), be_const_bytes_instance(07000001FF00018000) },
        { be_const_key_weak(max_brightness, 2), be_const_bytes_instance(07000001FF0001FF00) },
        { be_const_key_weak(color, -1), be_const_bytes_instance(0400FF) },
        { be_const_key_weak(fade_speed, 0), be_const_bytes_instance(07000001FF0001B400) },
    }))    ) } )) },
        { be_const_key_weak(update, -1), be_const_closure(class_TwinkleAnimation_update_closure) },
    })),
    be_str_weak(TwinkleAnimation)
);

/********************************************************************
** Solidified function: gradient_rainbow_radial
********************************************************************/
be_local_closure(gradient_rainbow_radial,   /* name */
  be_nested_proto(
    4,                          /* nstack */
    1,                          /* argc */
    0,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    0,                          /* has sup protos */
    NULL,                       /* no sub protos */
    1,                          /* has constants */
    ( &(const bvalue[ 7]) {     /* constants */
    /* K0   */  be_nested_str_weak(animation),
    /* K1   */  be_nested_str_weak(gradient_animation),
    /* K2   */  be_nested_str_weak(color),
    /* K3   */  be_nested_str_weak(gradient_type),
    /* K4   */  be_const_int(1),
    /* K5   */  be_nested_str_weak(center_pos),
    /* K6   */  be_nested_str_weak(movement_speed),
    }),
    be_str_weak(gradient_rainbow_radial),
    &be_const_str_solidified,
    ( &(const binstruction[12]) {  /* code */
      0xB8060000,  //  0000  GETNGBL	R1	K0
      0x8C040301,  //  0001  GETMET	R1	R1	K1
      0x5C0C0000,  //  0002  MOVE	R3	R0
      0x7C040400,  //  0003  CALL	R1	2
      0x4C080000,  //  0004  LDNIL	R2
      0x90060402,  //  0005  SETMBR	R1	K2	R2
      0x90060704,  //  0006  SETMBR	R1	K3	K4
      0x540A007F,  //  0007  LDINT	R2	128
      0x90060A02,  //  0008  SETMBR	R1	K5	R2
      0x540A001D,  //  0009  LDINT	R2	30
      0x90060C02,  //  000A  SETMBR	R1	K6	R2
      0x80040200,  //  000B  RET	1	R1
    })
  )
);
/*******************************************************************/

// compact class 'OscillatorValueProvider' ktab size: 30, total: 37 (saved 56 bytes)
static const bvalue be_ktab_class_OscillatorValueProvider[30] = {
  /* K0   */  be_nested_str_weak(duration),
  /* K1   */  be_nested_str_weak(min_value),
  /* K2   */  be_nested_str_weak(max_value),
  /* K3   */  be_nested_str_weak(form),
  /* K4   */  be_nested_str_weak(phase),
  /* K5   */  be_nested_str_weak(duty_cycle),
  /* K6   */  be_nested_str_weak(_fix_time_ms),
  /* K7   */  be_const_int(0),
  /* K8   */  be_nested_str_weak(start_time),
  /* K9   */  be_nested_str_weak(tasmota),
  /* K10  */  be_nested_str_weak(scale_uint),
  /* K11  */  be_nested_str_weak(animation),
  /* K12  */  be_nested_str_weak(SAWTOOTH),
  /* K13  */  be_nested_str_weak(value),
  /* K14  */  be_nested_str_weak(scale_int),
  /* K15  */  be_const_int(1),
  /* K16  */  be_nested_str_weak(TRIANGLE),
  /* K17  */  be_nested_str_weak(SQUARE),
  /* K18  */  be_nested_str_weak(COSINE),
  /* K19  */  be_nested_str_weak(sine_int),
  /* K20  */  be_nested_str_weak(SINE),
  /* K21  */  be_nested_str_weak(EASE_IN),
  /* K22  */  be_nested_str_weak(EASE_OUT),
  /* K23  */  be_nested_str_weak(ELASTIC),
  /* K24  */  be_nested_str_weak(BOUNCE),
  /* K25  */  be_nested_str_weak(form_names),
  /* K26  */  be_nested_str_weak(UNKNOWN),
  /* K27  */  be_nested_str_weak(OscillatorValueProvider_X28min_value_X3D_X25s_X2C_X20max_value_X3D_X25s_X2C_X20duration_X3D_X25sms_X2C_X20form_X3D_X25s_X29),
  /* K28  */  be_nested_str_weak(init),
  /* K29  */  be_nested_str_weak(start),
};


extern const bclass be_class_OscillatorValueProvider;

/********************************************************************
** Solidified function: produce_value
********************************************************************/
be_local_closure(class_OscillatorValueProvider_produce_value,   /* name */
  be_nested_proto(
    26,                          /* nstack */
    3,                          /* argc */
    10,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    0,                          /* has sup protos */
    NULL,                       /* no sub protos */
    1,                          /* has constants */
    &be_ktab_class_OscillatorValueProvider,     /* shared constants */
    be_str_weak(produce_value),
    &be_const_str_solidified,
    ( &(const binstruction[435]) {  /* code */
      0x880C0100,  //  0000  GETMBR	R3	R0	K0
      0x88100101,  //  0001  GETMBR	R4	R0	K1
      0x88140102,  //  0002  GETMBR	R5	R0	K2
      0x88180103,  //  0003  GETMBR	R6	R0	K3
      0x881C0104,  //  0004  GETMBR	R7	R0	K4
      0x88200105,  //  0005  GETMBR	R8	R0	K5
      0x8C240106,  //  0006  GETMET	R9	R0	K6
      0x5C2C0400,  //  0007  MOVE	R11	R2
      0x7C240400,  //  0008  CALL	R9	2
      0x5C081200,  //  0009  MOVE	R2	R9
      0x4C240000,  //  000A  LDNIL	R9
      0x1C240609,  //  000B  EQ	R9	R3	R9
      0x74260001,  //  000C  JMPT	R9	#000F
      0x18240707,  //  000D  LE	R9	R3	K7
      0x78260000,  //  000E  JMPF	R9	#0010
      0x80040800,  //  000F  RET	1	R4
      0x88240108,  //  0010  GETMBR	R9	R0	K8
      0x04240409,  //  0011  SUB	R9	R2	R9
      0x14281307,  //  0012  LT	R10	R9	K7
      0x782A0000,  //  0013  JMPF	R10	#0015
      0x58240007,  //  0014  LDCONST	R9	K7
      0xB82A1200,  //  0015  GETNGBL	R10	K9
      0x8C28150A,  //  0016  GETMET	R10	R10	K10
      0x5C301000,  //  0017  MOVE	R12	R8
      0x58340007,  //  0018  LDCONST	R13	K7
      0x543A00FE,  //  0019  LDINT	R14	255
      0x583C0007,  //  001A  LDCONST	R15	K7
      0x5C400600,  //  001B  MOVE	R16	R3
      0x7C280C00,  //  001C  CALL	R10	6
      0x282C1203,  //  001D  GE	R11	R9	R3
      0x782E0005,  //  001E  JMPF	R11	#0025
      0x0C2C1203,  //  001F  DIV	R11	R9	R3
      0x08341603,  //  0020  MUL	R13	R11	R3
      0x88300108,  //  0021  GETMBR	R12	R0	K8
      0x0030180D,  //  0022  ADD	R12	R12	R13
      0x9002100C,  //  0023  SETMBR	R0	K8	R12
      0x10241203,  //  0024  MOD	R9	R9	R3
      0x5C2C1200,  //  0025  MOVE	R11	R9
      0x24300F07,  //  0026  GT	R12	R7	K7
      0x7832000B,  //  0027  JMPF	R12	#0034
      0xB8321200,  //  0028  GETNGBL	R12	K9
      0x8C30190A,  //  0029  GETMET	R12	R12	K10
      0x5C380E00,  //  002A  MOVE	R14	R7
      0x583C0007,  //  002B  LDCONST	R15	K7
      0x544200FE,  //  002C  LDINT	R16	255
      0x58440007,  //  002D  LDCONST	R17	K7
      0x5C480600,  //  002E  MOVE	R18	R3
      0x7C300C00,  //  002F  CALL	R12	6
      0x002C160C,  //  0030  ADD	R11	R11	R12
      0x28301603,  //  0031  GE	R12	R11	R3
      0x78320000,  //  0032  JMPF	R12	#0034
      0x042C1603,  //  0033  SUB	R11	R11	R3
      0xB8321600,  //  0034  GETNGBL	R12	K11
      0x8830190C,  //  0035  GETMBR	R12	R12	K12
      0x1C300C0C,  //  0036  EQ	R12	R6	R12
      0x78320009,  //  0037  JMPF	R12	#0042
      0xB8321200,  //  0038  GETNGBL	R12	K9
      0x8C30190E,  //  0039  GETMET	R12	R12	K14
      0x5C381600,  //  003A  MOVE	R14	R11
      0x583C0007,  //  003B  LDCONST	R15	K7
      0x0440070F,  //  003C  SUB	R16	R3	K15
      0x5C440800,  //  003D  MOVE	R17	R4
      0x5C480A00,  //  003E  MOVE	R18	R5
      0x7C300C00,  //  003F  CALL	R12	6
      0x90021A0C,  //  0040  SETMBR	R0	K13	R12
      0x7002016E,  //  0041  JMP		#01B1
      0xB8321600,  //  0042  GETNGBL	R12	K11
      0x88301910,  //  0043  GETMBR	R12	R12	K16
      0x1C300C0C,  //  0044  EQ	R12	R6	R12
      0x78320015,  //  0045  JMPF	R12	#005C
      0x1430160A,  //  0046  LT	R12	R11	R10
      0x78320009,  //  0047  JMPF	R12	#0052
      0xB8321200,  //  0048  GETNGBL	R12	K9
      0x8C30190E,  //  0049  GETMET	R12	R12	K14
      0x5C381600,  //  004A  MOVE	R14	R11
      0x583C0007,  //  004B  LDCONST	R15	K7
      0x0440150F,  //  004C  SUB	R16	R10	K15
      0x5C440800,  //  004D  MOVE	R17	R4
      0x5C480A00,  //  004E  MOVE	R18	R5
      0x7C300C00,  //  004F  CALL	R12	6
      0x90021A0C,  //  0050  SETMBR	R0	K13	R12
      0x70020008,  //  0051  JMP		#005B
      0xB8321200,  //  0052  GETNGBL	R12	K9
      0x8C30190E,  //  0053  GETMET	R12	R12	K14
      0x5C381600,  //  0054  MOVE	R14	R11
      0x5C3C1400,  //  0055  MOVE	R15	R10
      0x0440070F,  //  0056  SUB	R16	R3	K15
      0x5C440A00,  //  0057  MOVE	R17	R5
      0x5C480800,  //  0058  MOVE	R18	R4
      0x7C300C00,  //  0059  CALL	R12	6
      0x90021A0C,  //  005A  SETMBR	R0	K13	R12
      0x70020154,  //  005B  JMP		#01B1
      0xB8321600,  //  005C  GETNGBL	R12	K11
      0x88301911,  //  005D  GETMBR	R12	R12	K17
      0x1C300C0C,  //  005E  EQ	R12	R6	R12
      0x78320005,  //  005F  JMPF	R12	#0066
      0x1430160A,  //  0060  LT	R12	R11	R10
      0x78320001,  //  0061  JMPF	R12	#0064
      0x90021A04,  //  0062  SETMBR	R0	K13	R4
      0x70020000,  //  0063  JMP		#0065
      0x90021A05,  //  0064  SETMBR	R0	K13	R5
      0x7002014A,  //  0065  JMP		#01B1
      0xB8321600,  //  0066  GETNGBL	R12	K11
      0x88301912,  //  0067  GETMBR	R12	R12	K18
      0x1C300C0C,  //  0068  EQ	R12	R6	R12
      0x78320016,  //  0069  JMPF	R12	#0081
      0xB8321200,  //  006A  GETNGBL	R12	K9
      0x8C30190A,  //  006B  GETMET	R12	R12	K10
      0x5C381600,  //  006C  MOVE	R14	R11
      0x583C0007,  //  006D  LDCONST	R15	K7
      0x0440070F,  //  006E  SUB	R16	R3	K15
      0x58440007,  //  006F  LDCONST	R17	K7
      0x544A7FFE,  //  0070  LDINT	R18	32767
      0x7C300C00,  //  0071  CALL	R12	6
      0xB8361200,  //  0072  GETNGBL	R13	K9
      0x8C341B13,  //  0073  GETMET	R13	R13	K19
      0x543E1FFF,  //  0074  LDINT	R15	8192
      0x043C180F,  //  0075  SUB	R15	R12	R15
      0x7C340400,  //  0076  CALL	R13	2
      0xB83A1200,  //  0077  GETNGBL	R14	K9
      0x8C381D0E,  //  0078  GETMET	R14	R14	K14
      0x5C401A00,  //  0079  MOVE	R16	R13
      0x5445EFFF,  //  007A  LDINT	R17	-4096
      0x544A0FFF,  //  007B  LDINT	R18	4096
      0x5C4C0800,  //  007C  MOVE	R19	R4
      0x5C500A00,  //  007D  MOVE	R20	R5
      0x7C380C00,  //  007E  CALL	R14	6
      0x90021A0E,  //  007F  SETMBR	R0	K13	R14
      0x7002012F,  //  0080  JMP		#01B1
      0xB8321600,  //  0081  GETNGBL	R12	K11
      0x88301914,  //  0082  GETMBR	R12	R12	K20
      0x1C300C0C,  //  0083  EQ	R12	R6	R12
      0x78320015,  //  0084  JMPF	R12	#009B
      0xB8321200,  //  0085  GETNGBL	R12	K9
      0x8C30190A,  //  0086  GETMET	R12	R12	K10
      0x5C381600,  //  0087  MOVE	R14	R11
      0x583C0007,  //  0088  LDCONST	R15	K7
      0x0440070F,  //  0089  SUB	R16	R3	K15
      0x58440007,  //  008A  LDCONST	R17	K7
      0x544A7FFE,  //  008B  LDINT	R18	32767
      0x7C300C00,  //  008C  CALL	R12	6
      0xB8361200,  //  008D  GETNGBL	R13	K9
      0x8C341B13,  //  008E  GETMET	R13	R13	K19
      0x5C3C1800,  //  008F  MOVE	R15	R12
      0x7C340400,  //  0090  CALL	R13	2
      0xB83A1200,  //  0091  GETNGBL	R14	K9
      0x8C381D0E,  //  0092  GETMET	R14	R14	K14
      0x5C401A00,  //  0093  MOVE	R16	R13
      0x5445EFFF,  //  0094  LDINT	R17	-4096
      0x544A0FFF,  //  0095  LDINT	R18	4096
      0x5C4C0800,  //  0096  MOVE	R19	R4
      0x5C500A00,  //  0097  MOVE	R20	R5
      0x7C380C00,  //  0098  CALL	R14	6
      0x90021A0E,  //  0099  SETMBR	R0	K13	R14
      0x70020115,  //  009A  JMP		#01B1
      0xB8321600,  //  009B  GETNGBL	R12	K11
      0x88301915,  //  009C  GETMBR	R12	R12	K21
      0x1C300C0C,  //  009D  EQ	R12	R6	R12
      0x7832001B,  //  009E  JMPF	R12	#00BB
      0xB8321200,  //  009F  GETNGBL	R12	K9
      0x8C30190A,  //  00A0  GETMET	R12	R12	K10
      0x5C381600,  //  00A1  MOVE	R14	R11
      0x583C0007,  //  00A2  LDCONST	R15	K7
      0x0440070F,  //  00A3  SUB	R16	R3	K15
      0x58440007,  //  00A4  LDCONST	R17	K7
      0x544A00FE,  //  00A5  LDINT	R18	255
      0x7C300C00,  //  00A6  CALL	R12	6
      0xB8361200,  //  00A7  GETNGBL	R13	K9
      0x8C341B0E,  //  00A8  GETMET	R13	R13	K14
      0x083C180C,  //  00A9  MUL	R15	R12	R12
      0x58400007,  //  00AA  LDCONST	R16	K7
      0x544600FE,  //  00AB  LDINT	R17	255
      0x544A00FE,  //  00AC  LDINT	R18	255
      0x08442212,  //  00AD  MUL	R17	R17	R18
      0x58480007,  //  00AE  LDCONST	R18	K7
      0x544E00FE,  //  00AF  LDINT	R19	255
      0x7C340C00,  //  00B0  CALL	R13	6
      0xB83A1200,  //  00B1  GETNGBL	R14	K9
      0x8C381D0E,  //  00B2  GETMET	R14	R14	K14
      0x5C401A00,  //  00B3  MOVE	R16	R13
      0x58440007,  //  00B4  LDCONST	R17	K7
      0x544A00FE,  //  00B5  LDINT	R18	255
      0x5C4C0800,  //  00B6  MOVE	R19	R4
      0x5C500A00,  //  00B7  MOVE	R20	R5
      0x7C380C00,  //  00B8  CALL	R14	6
      0x90021A0E,  //  00B9  SETMBR	R0	K13	R14
      0x700200F5,  //  00BA  JMP		#01B1
      0xB8321600,  //  00BB  GETNGBL	R12	K11
      0x88301916,  //  00BC  GETMBR	R12	R12	K22
      0x1C300C0C,  //  00BD  EQ	R12	R6	R12
      0x7832001F,  //  00BE  JMPF	R12	#00DF
      0xB8321200,  //  00BF  GETNGBL	R12	K9
      0x8C30190A,  //  00C0  GETMET	R12	R12	K10
      0x5C381600,  //  00C1  MOVE	R14	R11
      0x583C0007,  //  00C2  LDCONST	R15	K7
      0x0440070F,  //  00C3  SUB	R16	R3	K15
      0x58440007,  //  00C4  LDCONST	R17	K7
      0x544A00FE,  //  00C5  LDINT	R18	255
      0x7C300C00,  //  00C6  CALL	R12	6
      0x543600FE,  //  00C7  LDINT	R13	255
      0x04341A0C,  //  00C8  SUB	R13	R13	R12
      0x543A00FE,  //  00C9  LDINT	R14	255
      0xB83E1200,  //  00CA  GETNGBL	R15	K9
      0x8C3C1F0E,  //  00CB  GETMET	R15	R15	K14
      0x08441A0D,  //  00CC  MUL	R17	R13	R13
      0x58480007,  //  00CD  LDCONST	R18	K7
      0x544E00FE,  //  00CE  LDINT	R19	255
      0x545200FE,  //  00CF  LDINT	R20	255
      0x084C2614,  //  00D0  MUL	R19	R19	R20
      0x58500007,  //  00D1  LDCONST	R20	K7
      0x545600FE,  //  00D2  LDINT	R21	255
      0x7C3C0C00,  //  00D3  CALL	R15	6
      0x04381C0F,  //  00D4  SUB	R14	R14	R15
      0xB83E1200,  //  00D5  GETNGBL	R15	K9
      0x8C3C1F0E,  //  00D6  GETMET	R15	R15	K14
      0x5C441C00,  //  00D7  MOVE	R17	R14
      0x58480007,  //  00D8  LDCONST	R18	K7
      0x544E00FE,  //  00D9  LDINT	R19	255
      0x5C500800,  //  00DA  MOVE	R20	R4
      0x5C540A00,  //  00DB  MOVE	R21	R5
      0x7C3C0C00,  //  00DC  CALL	R15	6
      0x90021A0F,  //  00DD  SETMBR	R0	K13	R15
      0x700200D1,  //  00DE  JMP		#01B1
      0xB8321600,  //  00DF  GETNGBL	R12	K11
      0x88301917,  //  00E0  GETMBR	R12	R12	K23
      0x1C300C0C,  //  00E1  EQ	R12	R6	R12
      0x78320055,  //  00E2  JMPF	R12	#0139
      0xB8321200,  //  00E3  GETNGBL	R12	K9
      0x8C30190A,  //  00E4  GETMET	R12	R12	K10
      0x5C381600,  //  00E5  MOVE	R14	R11
      0x583C0007,  //  00E6  LDCONST	R15	K7
      0x0440070F,  //  00E7  SUB	R16	R3	K15
      0x58440007,  //  00E8  LDCONST	R17	K7
      0x544A00FE,  //  00E9  LDINT	R18	255
      0x7C300C00,  //  00EA  CALL	R12	6
      0x1C341907,  //  00EB  EQ	R13	R12	K7
      0x78360001,  //  00EC  JMPF	R13	#00EF
      0x90021A04,  //  00ED  SETMBR	R0	K13	R4
      0x70020048,  //  00EE  JMP		#0138
      0x543600FE,  //  00EF  LDINT	R13	255
      0x1C34180D,  //  00F0  EQ	R13	R12	R13
      0x78360001,  //  00F1  JMPF	R13	#00F4
      0x90021A05,  //  00F2  SETMBR	R0	K13	R5
      0x70020043,  //  00F3  JMP		#0138
      0xB8361200,  //  00F4  GETNGBL	R13	K9
      0x8C341B0A,  //  00F5  GETMET	R13	R13	K10
      0x543E00FE,  //  00F6  LDINT	R15	255
      0x043C1E0C,  //  00F7  SUB	R15	R15	R12
      0x58400007,  //  00F8  LDCONST	R16	K7
      0x544600FE,  //  00F9  LDINT	R17	255
      0x544A00FE,  //  00FA  LDINT	R18	255
      0x544E001F,  //  00FB  LDINT	R19	32
      0x7C340C00,  //  00FC  CALL	R13	6
      0xB83A1200,  //  00FD  GETNGBL	R14	K9
      0x8C381D0A,  //  00FE  GETMET	R14	R14	K10
      0x5C401800,  //  00FF  MOVE	R16	R12
      0x58440007,  //  0100  LDCONST	R17	K7
      0x544A00FE,  //  0101  LDINT	R18	255
      0x584C0007,  //  0102  LDCONST	R19	K7
      0x54527FFE,  //  0103  LDINT	R20	32767
      0x54560005,  //  0104  LDINT	R21	6
      0x08502815,  //  0105  MUL	R20	R20	R21
      0x7C380C00,  //  0106  CALL	R14	6
      0xB83E1200,  //  0107  GETNGBL	R15	K9
      0x8C3C1F13,  //  0108  GETMET	R15	R15	K19
      0x54467FFE,  //  0109  LDINT	R17	32767
      0x10441C11,  //  010A  MOD	R17	R14	R17
      0x7C3C0400,  //  010B  CALL	R15	2
      0xB8421200,  //  010C  GETNGBL	R16	K9
      0x8C40210E,  //  010D  GETMET	R16	R16	K14
      0x08481E0D,  //  010E  MUL	R18	R15	R13
      0x544DEFFF,  //  010F  LDINT	R19	-4096
      0x545200FE,  //  0110  LDINT	R20	255
      0x084C2614,  //  0111  MUL	R19	R19	R20
      0x54520FFF,  //  0112  LDINT	R20	4096
      0x545600FE,  //  0113  LDINT	R21	255
      0x08502815,  //  0114  MUL	R20	R20	R21
      0x5455FF00,  //  0115  LDINT	R21	-255
      0x545A00FE,  //  0116  LDINT	R22	255
      0x7C400C00,  //  0117  CALL	R16	6
      0xB8461200,  //  0118  GETNGBL	R17	K9
      0x8C44230E,  //  0119  GETMET	R17	R17	K14
      0x5C4C1800,  //  011A  MOVE	R19	R12
      0x58500007,  //  011B  LDCONST	R20	K7
      0x545600FE,  //  011C  LDINT	R21	255
      0x58580007,  //  011D  LDCONST	R22	K7
      0x045C0A04,  //  011E  SUB	R23	R5	R4
      0x7C440C00,  //  011F  CALL	R17	6
      0x00480811,  //  0120  ADD	R18	R4	R17
      0x00482410,  //  0121  ADD	R18	R18	R16
      0x90021A12,  //  0122  SETMBR	R0	K13	R18
      0x04480A04,  //  0123  SUB	R18	R5	R4
      0xB84E1200,  //  0124  GETNGBL	R19	K9
      0x8C4C270E,  //  0125  GETMET	R19	R19	K14
      0x5C542400,  //  0126  MOVE	R21	R18
      0x58580007,  //  0127  LDCONST	R22	K7
      0x545E0003,  //  0128  LDINT	R23	4
      0x58600007,  //  0129  LDCONST	R24	K7
      0x5864000F,  //  012A  LDCONST	R25	K15
      0x7C4C0C00,  //  012B  CALL	R19	6
      0x8850010D,  //  012C  GETMBR	R20	R0	K13
      0x00540A13,  //  012D  ADD	R21	R5	R19
      0x24502815,  //  012E  GT	R20	R20	R21
      0x78520001,  //  012F  JMPF	R20	#0132
      0x00500A13,  //  0130  ADD	R20	R5	R19
      0x90021A14,  //  0131  SETMBR	R0	K13	R20
      0x8850010D,  //  0132  GETMBR	R20	R0	K13
      0x04540813,  //  0133  SUB	R21	R4	R19
      0x14502815,  //  0134  LT	R20	R20	R21
      0x78520001,  //  0135  JMPF	R20	#0138
      0x04500813,  //  0136  SUB	R20	R4	R19
      0x90021A14,  //  0137  SETMBR	R0	K13	R20
      0x70020077,  //  0138  JMP		#01B1
      0xB8321600,  //  0139  GETNGBL	R12	K11
      0x88301918,  //  013A  GETMBR	R12	R12	K24
      0x1C300C0C,  //  013B  EQ	R12	R6	R12
      0x78320073,  //  013C  JMPF	R12	#01B1
      0xB8321200,  //  013D  GETNGBL	R12	K9
      0x8C30190A,  //  013E  GETMET	R12	R12	K10
      0x5C381600,  //  013F  MOVE	R14	R11
      0x583C0007,  //  0140  LDCONST	R15	K7
      0x0440070F,  //  0141  SUB	R16	R3	K15
      0x58440007,  //  0142  LDCONST	R17	K7
      0x544A00FE,  //  0143  LDINT	R18	255
      0x7C300C00,  //  0144  CALL	R12	6
      0x58340007,  //  0145  LDCONST	R13	K7
      0x543A007F,  //  0146  LDINT	R14	128
      0x1438180E,  //  0147  LT	R14	R12	R14
      0x783A0017,  //  0148  JMPF	R14	#0161
      0xB83A1200,  //  0149  GETNGBL	R14	K9
      0x8C381D0A,  //  014A  GETMET	R14	R14	K10
      0x5C401800,  //  014B  MOVE	R16	R12
      0x58440007,  //  014C  LDCONST	R17	K7
      0x544A007E,  //  014D  LDINT	R18	127
      0x584C0007,  //  014E  LDCONST	R19	K7
      0x545200FE,  //  014F  LDINT	R20	255
      0x7C380C00,  //  0150  CALL	R14	6
      0x543E00FE,  //  0151  LDINT	R15	255
      0x043C1E0E,  //  0152  SUB	R15	R15	R14
      0x544200FE,  //  0153  LDINT	R16	255
      0xB8461200,  //  0154  GETNGBL	R17	K9
      0x8C44230E,  //  0155  GETMET	R17	R17	K14
      0x084C1E0F,  //  0156  MUL	R19	R15	R15
      0x58500007,  //  0157  LDCONST	R20	K7
      0x545600FE,  //  0158  LDINT	R21	255
      0x545A00FE,  //  0159  LDINT	R22	255
      0x08542A16,  //  015A  MUL	R21	R21	R22
      0x58580007,  //  015B  LDCONST	R22	K7
      0x545E00FE,  //  015C  LDINT	R23	255
      0x7C440C00,  //  015D  CALL	R17	6
      0x04402011,  //  015E  SUB	R16	R16	R17
      0x5C342000,  //  015F  MOVE	R13	R16
      0x70020046,  //  0160  JMP		#01A8
      0x543A00BF,  //  0161  LDINT	R14	192
      0x1438180E,  //  0162  LT	R14	R12	R14
      0x783A0020,  //  0163  JMPF	R14	#0185
      0xB83A1200,  //  0164  GETNGBL	R14	K9
      0x8C381D0A,  //  0165  GETMET	R14	R14	K10
      0x5442007F,  //  0166  LDINT	R16	128
      0x04401810,  //  0167  SUB	R16	R12	R16
      0x58440007,  //  0168  LDCONST	R17	K7
      0x544A003E,  //  0169  LDINT	R18	63
      0x584C0007,  //  016A  LDCONST	R19	K7
      0x545200FE,  //  016B  LDINT	R20	255
      0x7C380C00,  //  016C  CALL	R14	6
      0x543E00FE,  //  016D  LDINT	R15	255
      0x043C1E0E,  //  016E  SUB	R15	R15	R14
      0x544200FE,  //  016F  LDINT	R16	255
      0xB8461200,  //  0170  GETNGBL	R17	K9
      0x8C44230E,  //  0171  GETMET	R17	R17	K14
      0x084C1E0F,  //  0172  MUL	R19	R15	R15
      0x58500007,  //  0173  LDCONST	R20	K7
      0x545600FE,  //  0174  LDINT	R21	255
      0x545A00FE,  //  0175  LDINT	R22	255
      0x08542A16,  //  0176  MUL	R21	R21	R22
      0x58580007,  //  0177  LDCONST	R22	K7
      0x545E00FE,  //  0178  LDINT	R23	255
      0x7C440C00,  //  0179  CALL	R17	6
      0x04402011,  //  017A  SUB	R16	R16	R17
      0xB8461200,  //  017B  GETNGBL	R17	K9
      0x8C44230E,  //  017C  GETMET	R17	R17	K14
      0x5C4C2000,  //  017D  MOVE	R19	R16
      0x58500007,  //  017E  LDCONST	R20	K7
      0x545600FE,  //  017F  LDINT	R21	255
      0x58580007,  //  0180  LDCONST	R22	K7
      0x545E007F,  //  0181  LDINT	R23	128
      0x7C440C00,  //  0182  CALL	R17	6
      0x5C342200,  //  0183  MOVE	R13	R17
      0x70020022,  //  0184  JMP		#01A8
      0xB83A1200,  //  0185  GETNGBL	R14	K9
      0x8C381D0A,  //  0186  GETMET	R14	R14	K10
      0x544200BF,  //  0187  LDINT	R16	192
      0x04401810,  //  0188  SUB	R16	R12	R16
      0x58440007,  //  0189  LDCONST	R17	K7
      0x544A003E,  //  018A  LDINT	R18	63
      0x584C0007,  //  018B  LDCONST	R19	K7
      0x545200FE,  //  018C  LDINT	R20	255
      0x7C380C00,  //  018D  CALL	R14	6
      0x543E00FE,  //  018E  LDINT	R15	255
      0x043C1E0E,  //  018F  SUB	R15	R15	R14
      0x544200FE,  //  0190  LDINT	R16	255
      0xB8461200,  //  0191  GETNGBL	R17	K9
      0x8C44230E,  //  0192  GETMET	R17	R17	K14
      0x084C1E0F,  //  0193  MUL	R19	R15	R15
      0x58500007,  //  0194  LDCONST	R20	K7
      0x545600FE,  //  0195  LDINT	R21	255
      0x545A00FE,  //  0196  LDINT	R22	255
      0x08542A16,  //  0197  MUL	R21	R21	R22
      0x58580007,  //  0198  LDCONST	R22	K7
      0x545E00FE,  //  0199  LDINT	R23	255
      0x7C440C00,  //  019A  CALL	R17	6
      0x04402011,  //  019B  SUB	R16	R16	R17
      0x544600FE,  //  019C  LDINT	R17	255
      0xB84A1200,  //  019D  GETNGBL	R18	K9
      0x8C48250E,  //  019E  GETMET	R18	R18	K14
      0x545200FE,  //  019F  LDINT	R20	255
      0x04502810,  //  01A0  SUB	R20	R20	R16
      0x58540007,  //  01A1  LDCONST	R21	K7
      0x545A00FE,  //  01A2  LDINT	R22	255
      0x585C0007,  //  01A3  LDCONST	R23	K7
      0x5462003F,  //  01A4  LDINT	R24	64
      0x7C480C00,  //  01A5  CALL	R18	6
      0x04442212,  //  01A6  SUB	R17	R17	R18
      0x5C342200,  //  01A7  MOVE	R13	R17
      0xB83A1200,  //  01A8  GETNGBL	R14	K9
      0x8C381D0E,  //  01A9  GETMET	R14	R14	K14
      0x5C401A00,  //  01AA  MOVE	R16	R13
      0x58440007,  //  01AB  LDCONST	R17	K7
      0x544A00FE,  //  01AC  LDINT	R18	255
      0x5C4C0800,  //  01AD  MOVE	R19	R4
      0x5C500A00,  //  01AE  MOVE	R20	R5
      0x7C380C00,  //  01AF  CALL	R14	6
      0x90021A0E,  //  01B0  SETMBR	R0	K13	R14
      0x8830010D,  //  01B1  GETMBR	R12	R0	K13
      0x80041800,  //  01B2  RET	1	R12
    })
  )
);
/*******************************************************************/


/********************************************************************
** Solidified function: tostring
********************************************************************/
be_local_closure(class_OscillatorValueProvider_tostring,   /* name */
  be_nested_proto(
    8,                          /* nstack */
    1,                          /* argc */
    10,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    0,                          /* has sup protos */
    NULL,                       /* no sub protos */
    1,                          /* has constants */
    &be_ktab_class_OscillatorValueProvider,     /* shared constants */
    be_str_weak(tostring),
    &be_const_str_solidified,
    ( &(const binstruction[20]) {  /* code */
      0x88040103,  //  0000  GETMBR	R1	R0	K3
      0x2804030F,  //  0001  GE	R1	R1	K15
      0x78060007,  //  0002  JMPF	R1	#000B
      0x88040103,  //  0003  GETMBR	R1	R0	K3
      0x540A0008,  //  0004  LDINT	R2	9
      0x18040202,  //  0005  LE	R1	R1	R2
      0x78060003,  //  0006  JMPF	R1	#000B
      0x88040119,  //  0007  GETMBR	R1	R0	K25
      0x88080103,  //  0008  GETMBR	R2	R0	K3
      0x94040202,  //  0009  GETIDX	R1	R1	R2
      0x70020000,  //  000A  JMP		#000C
      0x5804001A,  //  000B  LDCONST	R1	K26
      0x60080018,  //  000C  GETGBL	R2	G24
      0x580C001B,  //  000D  LDCONST	R3	K27
      0x88100101,  //  000E  GETMBR	R4	R0	K1
      0x88140102,  //  000F  GETMBR	R5	R0	K2
      0x88180100,  //  0010  GETMBR	R6	R0	K0
      0x5C1C0200,  //  0011  MOVE	R7	R1
      0x7C080A00,  //  0012  CALL	R2	5
      0x80040400,  //  0013  RET	1	R2
    })
  )
);
/*******************************************************************/


/********************************************************************
** Solidified function: init
********************************************************************/
be_local_closure(class_OscillatorValueProvider_init,   /* name */
  be_nested_proto(
    5,                          /* nstack */
    2,                          /* argc */
    10,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    0,                          /* has sup protos */
    NULL,                       /* no sub protos */
    1,                          /* has constants */
    &be_ktab_class_OscillatorValueProvider,     /* shared constants */
    be_str_weak(init),
    &be_const_str_solidified,
    ( &(const binstruction[ 8]) {  /* code */
      0x60080003,  //  0000  GETGBL	R2	G3
      0x5C0C0000,  //  0001  MOVE	R3	R0
      0x7C080200,  //  0002  CALL	R2	1
      0x8C08051C,  //  0003  GETMET	R2	R2	K28
      0x5C100200,  //  0004  MOVE	R4	R1
      0x7C080400,  //  0005  CALL	R2	2
      0x90021B07,  //  0006  SETMBR	R0	K13	K7
      0x80000000,  //  0007  RET	0
    })
  )
);
/*******************************************************************/


/********************************************************************
** Solidified function: start
********************************************************************/
be_local_closure(class_OscillatorValueProvider_start,   /* name */
  be_nested_proto(
    5,                          /* nstack */
    2,                          /* argc */
    10,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    0,                          /* has sup protos */
    NULL,                       /* no sub protos */
    1,                          /* has constants */
    &be_ktab_class_OscillatorValueProvider,     /* shared constants */
    be_str_weak(start),
    &be_const_str_solidified,
    ( &(const binstruction[ 7]) {  /* code */
      0x60080003,  //  0000  GETGBL	R2	G3
      0x5C0C0000,  //  0001  MOVE	R3	R0
      0x7C080200,  //  0002  CALL	R2	1
      0x8C08051D,  //  0003  GETMET	R2	R2	K29
      0x5C100200,  //  0004  MOVE	R4	R1
      0x7C080400,  //  0005  CALL	R2	2
      0x80040000,  //  0006  RET	1	R0
    })
  )
);
/*******************************************************************/


/********************************************************************
** Solidified class: OscillatorValueProvider
********************************************************************/
extern const bclass be_class_ValueProvider;
be_local_class(OscillatorValueProvider,
    1,
    &be_class_ValueProvider,
    be_nested_map(7,
    ( (struct bmapnode*) &(const bmapnode[]) {
        { be_const_key_weak(PARAMS, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_map, {
        be_const_map( *     be_nested_map(6,
    ( (struct bmapnode*) &(const bmapnode[]) {
        { be_const_key_weak(phase, -1), be_const_bytes_instance(07000001FF000000) },
        { be_const_key_weak(max_value, 4), be_const_bytes_instance(0401FF00) },
        { be_const_key_weak(duty_cycle, -1), be_const_bytes_instance(07000001FF00007F) },
        { be_const_key_weak(min_value, -1), be_const_bytes_instance(040000) },
        { be_const_key_weak(duration, -1), be_const_bytes_instance(05000101E803) },
        { be_const_key_weak(form, 1), be_const_bytes_instance(14000109000100020003000400050006000700080009) },
    }))    ) } )) },
        { be_const_key_weak(produce_value, -1), be_const_closure(class_OscillatorValueProvider_produce_value_closure) },
        { be_const_key_weak(form_names, 4), be_const_simple_instance(be_nested_simple_instance(&be_class_list, {
        be_const_list( *     be_nested_list(10,
    ( (struct bvalue*) &(const bvalue[]) {
        be_nested_str_weak(),
        be_nested_str_weak(SAWTOOTH),
        be_nested_str_weak(TRIANGLE),
        be_nested_str_weak(SQUARE),
        be_nested_str_weak(COSINE),
        be_nested_str_weak(SINE),
        be_nested_str_weak(EASE_IN),
        be_nested_str_weak(EASE_OUT),
        be_nested_str_weak(ELASTIC),
        be_nested_str_weak(BOUNCE),
    }))    ) } )) },
        { be_const_key_weak(tostring, -1), be_const_closure(class_OscillatorValueProvider_tostring_closure) },
        { be_const_key_weak(init, 0), be_const_closure(class_OscillatorValueProvider_init_closure) },
        { be_const_key_weak(value, 2), be_const_var(0) },
        { be_const_key_weak(start, -1), be_const_closure(class_OscillatorValueProvider_start_closure) },
    })),
    be_str_weak(OscillatorValueProvider)
);

/********************************************************************
** Solidified function: rich_palette_rainbow
********************************************************************/
be_local_closure(rich_palette_rainbow,   /* name */
  be_nested_proto(
    5,                          /* nstack */
    1,                          /* argc */
    0,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    0,                          /* has sup protos */
    NULL,                       /* no sub protos */
    1,                          /* has constants */
    ( &(const bvalue[ 4]) {     /* constants */
    /* K0   */  be_nested_str_weak(00FF000024FFA50049FFFF006E00FF00920000FFB74B0082DBEE82EEFFFF0000),
    /* K1   */  be_nested_str_weak(animation),
    /* K2   */  be_nested_str_weak(rich_palette),
    /* K3   */  be_nested_str_weak(palette),
    }),
    be_str_weak(rich_palette_rainbow),
    &be_const_str_solidified,
    ( &(const binstruction[ 9]) {  /* code */
      0x60040015,  //  0000  GETGBL	R1	G21
      0x58080000,  //  0001  LDCONST	R2	K0
      0x7C040200,  //  0002  CALL	R1	1
      0xB80A0200,  //  0003  GETNGBL	R2	K1
      0x8C080502,  //  0004  GETMET	R2	R2	K2
      0x5C100000,  //  0005  MOVE	R4	R0
      0x7C080400,  //  0006  CALL	R2	2
      0x900A0601,  //  0007  SETMBR	R2	K3	R1
      0x80040400,  //  0008  RET	1	R2
    })
  )
);
/*******************************************************************/


/********************************************************************
** Solidified function: animation_init_strip
********************************************************************/
be_local_closure(animation_init_strip,   /* name */
  be_nested_proto(
    10,                          /* nstack */
    1,                          /* argc */
    1,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    0,                          /* has sup protos */
    NULL,                       /* no sub protos */
    1,                          /* has constants */
    ( &(const bvalue[10]) {     /* constants */
    /* K0   */  be_nested_str_weak(global),
    /* K1   */  be_nested_str_weak(animation),
    /* K2   */  be_nested_str_weak(introspect),
    /* K3   */  be_nested_str_weak(contains),
    /* K4   */  be_nested_str_weak(_engines),
    /* K5   */  be_nested_str_weak(find),
    /* K6   */  be_nested_str_weak(stop),
    /* K7   */  be_nested_str_weak(clear),
    /* K8   */  be_nested_str_weak(Leds),
    /* K9   */  be_nested_str_weak(create_engine),
    }),
    be_str_weak(animation_init_strip),
    &be_const_str_solidified,
    ( &(const binstruction[37]) {  /* code */
      0xA4060000,  //  0000  IMPORT	R1	K0
      0xA40A0200,  //  0001  IMPORT	R2	K1
      0xA40E0400,  //  0002  IMPORT	R3	K2
      0x8C100703,  //  0003  GETMET	R4	R3	K3
      0x5C180400,  //  0004  MOVE	R6	R2
      0x581C0004,  //  0005  LDCONST	R7	K4
      0x7C100600,  //  0006  CALL	R4	3
      0x74120002,  //  0007  JMPT	R4	#000B
      0x60100013,  //  0008  GETGBL	R4	G19
      0x7C100000,  //  0009  CALL	R4	0
      0x900A0804,  //  000A  SETMBR	R2	K4	R4
      0x60100008,  //  000B  GETGBL	R4	G8
      0x5C140000,  //  000C  MOVE	R5	R0
      0x7C100200,  //  000D  CALL	R4	1
      0x88140504,  //  000E  GETMBR	R5	R2	K4
      0x8C140B05,  //  000F  GETMET	R5	R5	K5
      0x5C1C0800,  //  0010  MOVE	R7	R4
      0x7C140400,  //  0011  CALL	R5	2
      0x4C180000,  //  0012  LDNIL	R6
      0x20180A06,  //  0013  NE	R6	R5	R6
      0x781A0004,  //  0014  JMPF	R6	#001A
      0x8C180B06,  //  0015  GETMET	R6	R5	K6
      0x7C180200,  //  0016  CALL	R6	1
      0x8C180B07,  //  0017  GETMET	R6	R5	K7
      0x7C180200,  //  0018  CALL	R6	1
      0x70020009,  //  0019  JMP		#0024
      0x60180016,  //  001A  GETGBL	R6	G22
      0x881C0308,  //  001B  GETMBR	R7	R1	K8
      0x5C200000,  //  001C  MOVE	R8	R0
      0x7C180400,  //  001D  CALL	R6	2
      0x8C1C0509,  //  001E  GETMET	R7	R2	K9
      0x5C240C00,  //  001F  MOVE	R9	R6
      0x7C1C0400,  //  0020  CALL	R7	2
      0x5C140E00,  //  0021  MOVE	R5	R7
      0x881C0504,  //  0022  GETMBR	R7	R2	K4
      0x981C0805,  //  0023  SETIDX	R7	R4	R5
      0x80040A00,  //  0024  RET	1	R5
    })
  )
);
/*******************************************************************/


/********************************************************************
** Solidified function: sine_osc
********************************************************************/
be_local_closure(sine_osc,   /* name */
  be_nested_proto(
    4,                          /* nstack */
    1,                          /* argc */
    0,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    0,                          /* has sup protos */
    NULL,                       /* no sub protos */
    1,                          /* has constants */
    ( &(const bvalue[ 4]) {     /* constants */
    /* K0   */  be_nested_str_weak(animation),
    /* K1   */  be_nested_str_weak(oscillator_value),
    /* K2   */  be_nested_str_weak(form),
    /* K3   */  be_nested_str_weak(SINE),
    }),
    be_str_weak(sine_osc),
    &be_const_str_solidified,
    ( &(const binstruction[ 8]) {  /* code */
      0xB8060000,  //  0000  GETNGBL	R1	K0
      0x8C040301,  //  0001  GETMET	R1	R1	K1
      0x5C0C0000,  //  0002  MOVE	R3	R0
      0x7C040400,  //  0003  CALL	R1	2
      0xB80A0000,  //  0004  GETNGBL	R2	K0
      0x88080503,  //  0005  GETMBR	R2	R2	K3
      0x90060402,  //  0006  SETMBR	R1	K2	R2
      0x80040200,  //  0007  RET	1	R1
    })
  )
);
/*******************************************************************/


/********************************************************************
** Solidified function: bounce
********************************************************************/
be_local_closure(bounce,   /* name */
  be_nested_proto(
    4,                          /* nstack */
    1,                          /* argc */
    0,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    0,                          /* has sup protos */
    NULL,                       /* no sub protos */
    1,                          /* has constants */
    ( &(const bvalue[ 4]) {     /* constants */
    /* K0   */  be_nested_str_weak(animation),
    /* K1   */  be_nested_str_weak(oscillator_value),
    /* K2   */  be_nested_str_weak(form),
    /* K3   */  be_nested_str_weak(BOUNCE),
    }),
    be_str_weak(bounce),
    &be_const_str_solidified,
    ( &(const binstruction[ 8]) {  /* code */
      0xB8060000,  //  0000  GETNGBL	R1	K0
      0x8C040301,  //  0001  GETMET	R1	R1	K1
      0x5C0C0000,  //  0002  MOVE	R3	R0
      0x7C040400,  //  0003  CALL	R1	2
      0xB80A0000,  //  0004  GETNGBL	R2	K0
      0x88080503,  //  0005  GETMBR	R2	R2	K3
      0x90060402,  //  0006  SETMBR	R1	K2	R2
      0x80040200,  //  0007  RET	1	R1
    })
  )
);
/*******************************************************************/

// compact class 'RichPaletteAnimation' ktab size: 15, total: 19 (saved 32 bytes)
static const bvalue be_ktab_class_RichPaletteAnimation[15] = {
  /* K0   */  be_nested_str_weak(on_param_changed),
  /* K1   */  be_nested_str_weak(palette),
  /* K2   */  be_nested_str_weak(cycle_period),
  /* K3   */  be_nested_str_weak(transition_type),
  /* K4   */  be_nested_str_weak(brightness),
  /* K5   */  be_nested_str_weak(color_provider),
  /* K6   */  be_nested_str_weak(set_param),
  /* K7   */  be_nested_str_weak(RichPaletteAnimation_X28cycle_period_X3D_X25s_X2C_X20brightness_X3D_X25s_X29),
  /* K8   */  be_nested_str_weak(RichPaletteAnimation_X28uninitialized_X29),
  /* K9   */  be_nested_str_weak(init),
  /* K10  */  be_nested_str_weak(animation),
  /* K11  */  be_nested_str_weak(rich_palette),
  /* K12  */  be_nested_str_weak(values),
  /* K13  */  be_nested_str_weak(color),
  /* K14  */  be_nested_str_weak(start),
};


extern const bclass be_class_RichPaletteAnimation;

/********************************************************************
** Solidified function: on_param_changed
********************************************************************/
be_local_closure(class_RichPaletteAnimation_on_param_changed,   /* name */
  be_nested_proto(
    7,                          /* nstack */
    3,                          /* argc */
    10,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    0,                          /* has sup protos */
    NULL,                       /* no sub protos */
    1,                          /* has constants */
    &be_ktab_class_RichPaletteAnimation,     /* shared constants */
    be_str_weak(on_param_changed),
    &be_const_str_solidified,
    ( &(const binstruction[29]) {  /* code */
      0x600C0003,  //  0000  GETGBL	R3	G3
      0x5C100000,  //  0001  MOVE	R4	R0
      0x7C0C0200,  //  0002  CALL	R3	1
      0x8C0C0700,  //  0003  GETMET	R3	R3	K0
      0x5C140200,  //  0004  MOVE	R5	R1
      0x5C180400,  //  0005  MOVE	R6	R2
      0x7C0C0600,  //  0006  CALL	R3	3
      0x1C0C0301,  //  0007  EQ	R3	R1	K1
      0x740E0005,  //  0008  JMPT	R3	#000F
      0x1C0C0302,  //  0009  EQ	R3	R1	K2
      0x740E0003,  //  000A  JMPT	R3	#000F
      0x1C0C0303,  //  000B  EQ	R3	R1	K3
      0x740E0001,  //  000C  JMPT	R3	#000F
      0x1C0C0304,  //  000D  EQ	R3	R1	K4
      0x780E0005,  //  000E  JMPF	R3	#0015
      0x880C0105,  //  000F  GETMBR	R3	R0	K5
      0x8C0C0706,  //  0010  GETMET	R3	R3	K6
      0x5C140200,  //  0011  MOVE	R5	R1
      0x5C180400,  //  0012  MOVE	R6	R2
      0x7C0C0600,  //  0013  CALL	R3	3
      0x70020006,  //  0014  JMP		#001C
      0x600C0003,  //  0015  GETGBL	R3	G3
      0x5C100000,  //  0016  MOVE	R4	R0
      0x7C0C0200,  //  0017  CALL	R3	1
      0x8C0C0700,  //  0018  GETMET	R3	R3	K0
      0x5C140200,  //  0019  MOVE	R5	R1
      0x5C180400,  //  001A  MOVE	R6	R2
      0x7C0C0600,  //  001B  CALL	R3	3
      0x80000000,  //  001C  RET	0
    })
  )
);
/*******************************************************************/


/********************************************************************
** Solidified function: tostring
********************************************************************/
be_local_closure(class_RichPaletteAnimation_tostring,   /* name */
  be_nested_proto(
    5,                          /* nstack */
    1,                          /* argc */
    10,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    0,                          /* has sup protos */
    NULL,                       /* no sub protos */
    1,                          /* has constants */
    &be_ktab_class_RichPaletteAnimation,     /* shared constants */
    be_str_weak(tostring),
    &be_const_str_solidified,
    ( &(const binstruction[16]) {  /* code */
      0xA8020008,  //  0000  EXBLK	0	#000A
      0x60040018,  //  0001  GETGBL	R1	G24
      0x58080007,  //  0002  LDCONST	R2	K7
      0x880C0102,  //  0003  GETMBR	R3	R0	K2
      0x88100104,  //  0004  GETMBR	R4	R0	K4
      0x7C040600,  //  0005  CALL	R1	3
      0xA8040001,  //  0006  EXBLK	1	1
      0x80040200,  //  0007  RET	1	R1
      0xA8040001,  //  0008  EXBLK	1	1
      0x70020004,  //  0009  JMP		#000F
      0xAC040000,  //  000A  CATCH	R1	0	0
      0x70020001,  //  000B  JMP		#000E
      0x80061000,  //  000C  RET	1	K8
      0x70020000,  //  000D  JMP		#000F
      0xB0080000,  //  000E  RAISE	2	R0	R0
      0x80000000,  //  000F  RET	0
    })
  )
);
/*******************************************************************/


/********************************************************************
** Solidified function: init
********************************************************************/
be_local_closure(class_RichPaletteAnimation_init,   /* name */
  be_nested_proto(
    5,                          /* nstack */
    2,                          /* argc */
    10,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    0,                          /* has sup protos */
    NULL,                       /* no sub protos */
    1,                          /* has constants */
    &be_ktab_class_RichPaletteAnimation,     /* shared constants */
    be_str_weak(init),
    &be_const_str_solidified,
    ( &(const binstruction[15]) {  /* code */
      0x60080003,  //  0000  GETGBL	R2	G3
      0x5C0C0000,  //  0001  MOVE	R3	R0
      0x7C080200,  //  0002  CALL	R2	1
      0x8C080509,  //  0003  GETMET	R2	R2	K9
      0x5C100200,  //  0004  MOVE	R4	R1
      0x7C080400,  //  0005  CALL	R2	2
      0xB80A1400,  //  0006  GETNGBL	R2	K10
      0x8C08050B,  //  0007  GETMET	R2	R2	K11
      0x5C100200,  //  0008  MOVE	R4	R1
      0x7C080400,  //  0009  CALL	R2	2
      0x90020A02,  //  000A  SETMBR	R0	K5	R2
      0x8808010C,  //  000B  GETMBR	R2	R0	K12
      0x880C0105,  //  000C  GETMBR	R3	R0	K5
      0x980A1A03,  //  000D  SETIDX	R2	K13	R3
      0x80000000,  //  000E  RET	0
    })
  )
);
/*******************************************************************/


/********************************************************************
** Solidified function: start
********************************************************************/
be_local_closure(class_RichPaletteAnimation_start,   /* name */
  be_nested_proto(
    5,                          /* nstack */
    2,                          /* argc */
    10,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    0,                          /* has sup protos */
    NULL,                       /* no sub protos */
    1,                          /* has constants */
    &be_ktab_class_RichPaletteAnimation,     /* shared constants */
    be_str_weak(start),
    &be_const_str_solidified,
    ( &(const binstruction[11]) {  /* code */
      0x60080003,  //  0000  GETGBL	R2	G3
      0x5C0C0000,  //  0001  MOVE	R3	R0
      0x7C080200,  //  0002  CALL	R2	1
      0x8C08050E,  //  0003  GETMET	R2	R2	K14
      0x5C100200,  //  0004  MOVE	R4	R1
      0x7C080400,  //  0005  CALL	R2	2
      0x88080105,  //  0006  GETMBR	R2	R0	K5
      0x8C08050E,  //  0007  GETMET	R2	R2	K14
      0x5C100200,  //  0008  MOVE	R4	R1
      0x7C080400,  //  0009  CALL	R2	2
      0x80040000,  //  000A  RET	1	R0
    })
  )
);
/*******************************************************************/


/********************************************************************
** Solidified class: RichPaletteAnimation
********************************************************************/
extern const bclass be_class_Animation;
be_local_class(RichPaletteAnimation,
    1,
    &be_class_Animation,
    be_nested_map(6,
    ( (struct bmapnode*) &(const bmapnode[]) {
        { be_const_key_weak(tostring, -1), be_const_closure(class_RichPaletteAnimation_tostring_closure) },
        { be_const_key_weak(on_param_changed, 0), be_const_closure(class_RichPaletteAnimation_on_param_changed_closure) },
        { be_const_key_weak(PARAMS, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_map, {
        be_const_map( *     be_nested_map(4,
    ( (struct bmapnode*) &(const bmapnode[]) {
        { be_const_key_weak(palette, -1), be_const_bytes_instance(0C0605) },
        { be_const_key_weak(transition_type, -1), be_const_bytes_instance(1400050200010005) },
        { be_const_key_weak(brightness, -1), be_const_bytes_instance(07000001FF0001FF00) },
        { be_const_key_weak(cycle_period, 1), be_const_bytes_instance(050000018813) },
    }))    ) } )) },
        { be_const_key_weak(init, 2), be_const_closure(class_RichPaletteAnimation_init_closure) },
        { be_const_key_weak(color_provider, -1), be_const_var(0) },
        { be_const_key_weak(start, -1), be_const_closure(class_RichPaletteAnimation_start_closure) },
    })),
    be_str_weak(RichPaletteAnimation)
);

/********************************************************************
** Solidified function: elastic
********************************************************************/
be_local_closure(elastic,   /* name */
  be_nested_proto(
    4,                          /* nstack */
    1,                          /* argc */
    0,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    0,                          /* has sup protos */
    NULL,                       /* no sub protos */
    1,                          /* has constants */
    ( &(const bvalue[ 4]) {     /* constants */
    /* K0   */  be_nested_str_weak(animation),
    /* K1   */  be_nested_str_weak(oscillator_value),
    /* K2   */  be_nested_str_weak(form),
    /* K3   */  be_nested_str_weak(ELASTIC),
    }),
    be_str_weak(elastic),
    &be_const_str_solidified,
    ( &(const binstruction[ 8]) {  /* code */
      0xB8060000,  //  0000  GETNGBL	R1	K0
      0x8C040301,  //  0001  GETMET	R1	R1	K1
      0x5C0C0000,  //  0002  MOVE	R3	R0
      0x7C040400,  //  0003  CALL	R1	2
      0xB80A0000,  //  0004  GETNGBL	R2	K0
      0x88080503,  //  0005  GETMBR	R2	R2	K3
      0x90060402,  //  0006  SETMBR	R1	K2	R2
      0x80040200,  //  0007  RET	1	R1
    })
  )
);
/*******************************************************************/


/********************************************************************
** Solidified function: linear
********************************************************************/
be_local_closure(linear,   /* name */
  be_nested_proto(
    4,                          /* nstack */
    1,                          /* argc */
    0,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    0,                          /* has sup protos */
    NULL,                       /* no sub protos */
    1,                          /* has constants */
    ( &(const bvalue[ 4]) {     /* constants */
    /* K0   */  be_nested_str_weak(animation),
    /* K1   */  be_nested_str_weak(oscillator_value),
    /* K2   */  be_nested_str_weak(form),
    /* K3   */  be_nested_str_weak(TRIANGLE),
    }),
    be_str_weak(linear),
    &be_const_str_solidified,
    ( &(const binstruction[ 8]) {  /* code */
      0xB8060000,  //  0000  GETNGBL	R1	K0
      0x8C040301,  //  0001  GETMET	R1	R1	K1
      0x5C0C0000,  //  0002  MOVE	R3	R0
      0x7C040400,  //  0003  CALL	R1	2
      0xB80A0000,  //  0004  GETNGBL	R2	K0
      0x88080503,  //  0005  GETMBR	R2	R2	K3
      0x90060402,  //  0006  SETMBR	R1	K2	R2
      0x80040200,  //  0007  RET	1	R1
    })
  )
);
/*******************************************************************/

// compact class 'ColorCycleColorProvider' ktab size: 25, total: 52 (saved 216 bytes)
static const bvalue be_ktab_class_ColorCycleColorProvider[25] = {
  /* K0   */  be_nested_str_weak(cycle_period),
  /* K1   */  be_nested_str_weak(_get_palette_size),
  /* K2   */  be_const_int(1),
  /* K3   */  be_const_int(0),
  /* K4   */  be_nested_str_weak(current_index),
  /* K5   */  be_nested_str_weak(_get_color_at_index),
  /* K6   */  be_nested_str_weak(brightness),
  /* K7   */  be_nested_str_weak(apply_brightness),
  /* K8   */  be_nested_str_weak(tasmota),
  /* K9   */  be_nested_str_weak(scale_uint),
  /* K10  */  be_nested_str_weak(ColorCycleColorProvider_X28palette_size_X3D_X25s_X2C_X20cycle_period_X3D_X25s_X2C_X20mode_X3D_X25s_X2C_X20current_index_X3D_X25s_X29),
  /* K11  */  be_nested_str_weak(manual),
  /* K12  */  be_nested_str_weak(auto),
  /* K13  */  be_nested_str_weak(palette),
  /* K14  */  be_nested_str_weak(on_param_changed),
  /* K15  */  be_nested_str_weak(palette_size),
  /* K16  */  be_nested_str_weak(values),
  /* K17  */  be_nested_str_weak(value_error),
  /* K18  */  be_nested_str_weak(Parameter_X20_X27palette_size_X27_X20is_X20read_X2Donly),
  /* K19  */  be_nested_str_weak(next),
  /* K20  */  be_nested_str_weak(_adjust_index),
  /* K21  */  be_nested_str_weak(member),
  /* K22  */  be_nested_str_weak(init),
  /* K23  */  be_nested_str_weak(get),
  /* K24  */  be_const_int(-16777216),
};


extern const bclass be_class_ColorCycleColorProvider;

/********************************************************************
** Solidified function: produce_value
********************************************************************/
be_local_closure(class_ColorCycleColorProvider_produce_value,   /* name */
  be_nested_proto(
    13,                          /* nstack */
    3,                          /* argc */
    10,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    0,                          /* has sup protos */
    NULL,                       /* no sub protos */
    1,                          /* has constants */
    &be_ktab_class_ColorCycleColorProvider,     /* shared constants */
    be_str_weak(produce_value),
    &be_const_str_solidified,
    ( &(const binstruction[56]) {  /* code */
      0x880C0100,  //  0000  GETMBR	R3	R0	K0
      0x8C100101,  //  0001  GETMET	R4	R0	K1
      0x7C100200,  //  0002  CALL	R4	1
      0x18140902,  //  0003  LE	R5	R4	K2
      0x74160001,  //  0004  JMPT	R5	#0007
      0x1C140703,  //  0005  EQ	R5	R3	K3
      0x78160015,  //  0006  JMPF	R5	#001D
      0x88140104,  //  0007  GETMBR	R5	R0	K4
      0x28180A04,  //  0008  GE	R6	R5	R4
      0x781A0001,  //  0009  JMPF	R6	#000C
      0x04180902,  //  000A  SUB	R6	R4	K2
      0x5C140C00,  //  000B  MOVE	R5	R6
      0x14180B03,  //  000C  LT	R6	R5	K3
      0x781A0000,  //  000D  JMPF	R6	#000F
      0x58140003,  //  000E  LDCONST	R5	K3
      0x90020805,  //  000F  SETMBR	R0	K4	R5
      0x8C180105,  //  0010  GETMET	R6	R0	K5
      0x88200104,  //  0011  GETMBR	R8	R0	K4
      0x7C180400,  //  0012  CALL	R6	2
      0x881C0106,  //  0013  GETMBR	R7	R0	K6
      0x542200FE,  //  0014  LDINT	R8	255
      0x20200E08,  //  0015  NE	R8	R7	R8
      0x78220004,  //  0016  JMPF	R8	#001C
      0x8C200107,  //  0017  GETMET	R8	R0	K7
      0x5C280C00,  //  0018  MOVE	R10	R6
      0x5C2C0E00,  //  0019  MOVE	R11	R7
      0x7C200600,  //  001A  CALL	R8	3
      0x80041000,  //  001B  RET	1	R8
      0x80040C00,  //  001C  RET	1	R6
      0x10140403,  //  001D  MOD	R5	R2	R3
      0xB81A1000,  //  001E  GETNGBL	R6	K8
      0x8C180D09,  //  001F  GETMET	R6	R6	K9
      0x5C200A00,  //  0020  MOVE	R8	R5
      0x58240003,  //  0021  LDCONST	R9	K3
      0x04280702,  //  0022  SUB	R10	R3	K2
      0x582C0003,  //  0023  LDCONST	R11	K3
      0x04300902,  //  0024  SUB	R12	R4	K2
      0x7C180C00,  //  0025  CALL	R6	6
      0x281C0C04,  //  0026  GE	R7	R6	R4
      0x781E0001,  //  0027  JMPF	R7	#002A
      0x041C0902,  //  0028  SUB	R7	R4	K2
      0x5C180E00,  //  0029  MOVE	R6	R7
      0x90020806,  //  002A  SETMBR	R0	K4	R6
      0x8C1C0105,  //  002B  GETMET	R7	R0	K5
      0x5C240C00,  //  002C  MOVE	R9	R6
      0x7C1C0400,  //  002D  CALL	R7	2
      0x88200106,  //  002E  GETMBR	R8	R0	K6
      0x542600FE,  //  002F  LDINT	R9	255
      0x20241009,  //  0030  NE	R9	R8	R9
      0x78260004,  //  0031  JMPF	R9	#0037
      0x8C240107,  //  0032  GETMET	R9	R0	K7
      0x5C2C0E00,  //  0033  MOVE	R11	R7
      0x5C301000,  //  0034  MOVE	R12	R8
      0x7C240600,  //  0035  CALL	R9	3
      0x80041200,  //  0036  RET	1	R9
      0x80040E00,  //  0037  RET	1	R7
    })
  )
);
/*******************************************************************/


/********************************************************************
** Solidified function: _adjust_index
********************************************************************/
be_local_closure(class_ColorCycleColorProvider__adjust_index,   /* name */
  be_nested_proto(
    4,                          /* nstack */
    1,                          /* argc */
    10,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    0,                          /* has sup protos */
    NULL,                       /* no sub protos */
    1,                          /* has constants */
    &be_ktab_class_ColorCycleColorProvider,     /* shared constants */
    be_str_weak(_adjust_index),
    &be_const_str_solidified,
    ( &(const binstruction[16]) {  /* code */
      0x8C040101,  //  0000  GETMET	R1	R0	K1
      0x7C040200,  //  0001  CALL	R1	1
      0x24080303,  //  0002  GT	R2	R1	K3
      0x780A0009,  //  0003  JMPF	R2	#000E
      0x88080104,  //  0004  GETMBR	R2	R0	K4
      0x10080401,  //  0005  MOD	R2	R2	R1
      0x140C0503,  //  0006  LT	R3	R2	K3
      0x780E0000,  //  0007  JMPF	R3	#0009
      0x00080401,  //  0008  ADD	R2	R2	R1
      0x880C0104,  //  0009  GETMBR	R3	R0	K4
      0x200C0602,  //  000A  NE	R3	R3	R2
      0x780E0000,  //  000B  JMPF	R3	#000D
      0x90020802,  //  000C  SETMBR	R0	K4	R2
      0x70020000,  //  000D  JMP		#000F
      0x90020903,  //  000E  SETMBR	R0	K4	K3
      0x80000000,  //  000F  RET	0
    })
  )
);
/*******************************************************************/


/********************************************************************
** Solidified function: tostring
********************************************************************/
be_local_closure(class_ColorCycleColorProvider_tostring,   /* name */
  be_nested_proto(
    7,                          /* nstack */
    1,                          /* argc */
    10,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    0,                          /* has sup protos */
    NULL,                       /* no sub protos */
    1,                          /* has constants */
    &be_ktab_class_ColorCycleColorProvider,     /* shared constants */
    be_str_weak(tostring),
    &be_const_str_solidified,
    ( &(const binstruction[13]) {  /* code */
      0x60040018,  //  0000  GETGBL	R1	G24
      0x5808000A,  //  0001  LDCONST	R2	K10
      0x8C0C0101,  //  0002  GETMET	R3	R0	K1
      0x7C0C0200,  //  0003  CALL	R3	1
      0x88100100,  //  0004  GETMBR	R4	R0	K0
      0x88140100,  //  0005  GETMBR	R5	R0	K0
      0x78160001,  //  0006  JMPF	R5	#0009
      0x5814000B,  //  0007  LDCONST	R5	K11
      0x70020000,  //  0008  JMP		#000A
      0x5814000C,  //  0009  LDCONST	R5	K12
      0x88180104,  //  000A  GETMBR	R6	R0	K4
      0x7C040A00,  //  000B  CALL	R1	5
      0x80040200,  //  000C  RET	1	R1
    })
  )
);
/*******************************************************************/


/********************************************************************
** Solidified function: _get_palette_size
********************************************************************/
be_local_closure(class_ColorCycleColorProvider__get_palette_size,   /* name */
  be_nested_proto(
    3,                          /* nstack */
    1,                          /* argc */
    10,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    0,                          /* has sup protos */
    NULL,                       /* no sub protos */
    1,                          /* has constants */
    &be_ktab_class_ColorCycleColorProvider,     /* shared constants */
    be_str_weak(_get_palette_size),
    &be_const_str_solidified,
    ( &(const binstruction[ 6]) {  /* code */
      0x6004000C,  //  0000  GETGBL	R1	G12
      0x8808010D,  //  0001  GETMBR	R2	R0	K13
      0x7C040200,  //  0002  CALL	R1	1
      0x540A0003,  //  0003  LDINT	R2	4
      0x0C040202,  //  0004  DIV	R1	R1	R2
      0x80040200,  //  0005  RET	1	R1
    })
  )
);
/*******************************************************************/


/********************************************************************
** Solidified function: on_param_changed
********************************************************************/
be_local_closure(class_ColorCycleColorProvider_on_param_changed,   /* name */
  be_nested_proto(
    7,                          /* nstack */
    3,                          /* argc */
    10,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    0,                          /* has sup protos */
    NULL,                       /* no sub protos */
    1,                          /* has constants */
    &be_ktab_class_ColorCycleColorProvider,     /* shared constants */
    be_str_weak(on_param_changed),
    &be_const_str_solidified,
    ( &(const binstruction[27]) {  /* code */
      0x600C0003,  //  0000  GETGBL	R3	G3
      0x5C100000,  //  0001  MOVE	R4	R0
      0x7C0C0200,  //  0002  CALL	R3	1
      0x8C0C070E,  //  0003  GETMET	R3	R3	K14
      0x5C140200,  //  0004  MOVE	R5	R1
      0x5C180400,  //  0005  MOVE	R6	R2
      0x7C0C0600,  //  0006  CALL	R3	3
      0x1C0C030F,  //  0007  EQ	R3	R1	K15
      0x780E0005,  //  0008  JMPF	R3	#000F
      0x880C0110,  //  0009  GETMBR	R3	R0	K16
      0x8C100101,  //  000A  GETMET	R4	R0	K1
      0x7C100200,  //  000B  CALL	R4	1
      0x980E1E04,  //  000C  SETIDX	R3	K15	R4
      0xB0062312,  //  000D  RAISE	1	K17	K18
      0x7002000A,  //  000E  JMP		#001A
      0x1C0C0313,  //  000F  EQ	R3	R1	K19
      0x780E0008,  //  0010  JMPF	R3	#001A
      0x200C0503,  //  0011  NE	R3	R2	K3
      0x780E0006,  //  0012  JMPF	R3	#001A
      0x880C0104,  //  0013  GETMBR	R3	R0	K4
      0x000C0602,  //  0014  ADD	R3	R3	R2
      0x90020803,  //  0015  SETMBR	R0	K4	R3
      0x8C0C0114,  //  0016  GETMET	R3	R0	K20
      0x7C0C0200,  //  0017  CALL	R3	1
      0x880C0110,  //  0018  GETMBR	R3	R0	K16
      0x980E2703,  //  0019  SETIDX	R3	K19	K3
      0x80000000,  //  001A  RET	0
    })
  )
);
/*******************************************************************/


/********************************************************************
** Solidified function: member
********************************************************************/
be_local_closure(class_ColorCycleColorProvider_member,   /* name */
  be_nested_proto(
    5,                          /* nstack */
    2,                          /* argc */
    10,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    0,                          /* has sup protos */
    NULL,                       /* no sub protos */
    1,                          /* has constants */
    &be_ktab_class_ColorCycleColorProvider,     /* shared constants */
    be_str_weak(member),
    &be_const_str_solidified,
    ( &(const binstruction[14]) {  /* code */
      0x1C08030F,  //  0000  EQ	R2	R1	K15
      0x780A0003,  //  0001  JMPF	R2	#0006
      0x8C080101,  //  0002  GETMET	R2	R0	K1
      0x7C080200,  //  0003  CALL	R2	1
      0x80040400,  //  0004  RET	1	R2
      0x70020006,  //  0005  JMP		#000D
      0x60080003,  //  0006  GETGBL	R2	G3
      0x5C0C0000,  //  0007  MOVE	R3	R0
      0x7C080200,  //  0008  CALL	R2	1
      0x8C080515,  //  0009  GETMET	R2	R2	K21
      0x5C100200,  //  000A  MOVE	R4	R1
      0x7C080400,  //  000B  CALL	R2	2
      0x80040400,  //  000C  RET	1	R2
      0x80000000,  //  000D  RET	0
    })
  )
);
/*******************************************************************/


/********************************************************************
** Solidified function: get_color_for_value
********************************************************************/
be_local_closure(class_ColorCycleColorProvider_get_color_for_value,   /* name */
  be_nested_proto(
    11,                          /* nstack */
    3,                          /* argc */
    10,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    0,                          /* has sup protos */
    NULL,                       /* no sub protos */
    1,                          /* has constants */
    &be_ktab_class_ColorCycleColorProvider,     /* shared constants */
    be_str_weak(get_color_for_value),
    &be_const_str_solidified,
    ( &(const binstruction[53]) {  /* code */
      0x8C0C0101,  //  0000  GETMET	R3	R0	K1
      0x7C0C0200,  //  0001  CALL	R3	1
      0x1C100703,  //  0002  EQ	R4	R3	K3
      0x78120000,  //  0003  JMPF	R4	#0005
      0x80060600,  //  0004  RET	1	K3
      0x1C100702,  //  0005  EQ	R4	R3	K2
      0x7812000C,  //  0006  JMPF	R4	#0014
      0x8C100105,  //  0007  GETMET	R4	R0	K5
      0x58180003,  //  0008  LDCONST	R6	K3
      0x7C100400,  //  0009  CALL	R4	2
      0x88140106,  //  000A  GETMBR	R5	R0	K6
      0x541A00FE,  //  000B  LDINT	R6	255
      0x20180A06,  //  000C  NE	R6	R5	R6
      0x781A0004,  //  000D  JMPF	R6	#0013
      0x8C180107,  //  000E  GETMET	R6	R0	K7
      0x5C200800,  //  000F  MOVE	R8	R4
      0x5C240A00,  //  0010  MOVE	R9	R5
      0x7C180600,  //  0011  CALL	R6	3
      0x80040C00,  //  0012  RET	1	R6
      0x80040800,  //  0013  RET	1	R4
      0x14100303,  //  0014  LT	R4	R1	K3
      0x78120001,  //  0015  JMPF	R4	#0018
      0x58040003,  //  0016  LDCONST	R1	K3
      0x70020003,  //  0017  JMP		#001C
      0x541200FE,  //  0018  LDINT	R4	255
      0x24100204,  //  0019  GT	R4	R1	R4
      0x78120000,  //  001A  JMPF	R4	#001C
      0x540600FE,  //  001B  LDINT	R1	255
      0xB8121000,  //  001C  GETNGBL	R4	K8
      0x8C100909,  //  001D  GETMET	R4	R4	K9
      0x5C180200,  //  001E  MOVE	R6	R1
      0x581C0003,  //  001F  LDCONST	R7	K3
      0x542200FE,  //  0020  LDINT	R8	255
      0x58240003,  //  0021  LDCONST	R9	K3
      0x04280702,  //  0022  SUB	R10	R3	K2
      0x7C100C00,  //  0023  CALL	R4	6
      0x28140803,  //  0024  GE	R5	R4	R3
      0x78160001,  //  0025  JMPF	R5	#0028
      0x04140702,  //  0026  SUB	R5	R3	K2
      0x5C100A00,  //  0027  MOVE	R4	R5
      0x8C140105,  //  0028  GETMET	R5	R0	K5
      0x5C1C0800,  //  0029  MOVE	R7	R4
      0x7C140400,  //  002A  CALL	R5	2
      0x88180106,  //  002B  GETMBR	R6	R0	K6
      0x541E00FE,  //  002C  LDINT	R7	255
      0x201C0C07,  //  002D  NE	R7	R6	R7
      0x781E0004,  //  002E  JMPF	R7	#0034
      0x8C1C0107,  //  002F  GETMET	R7	R0	K7
      0x5C240A00,  //  0030  MOVE	R9	R5
      0x5C280C00,  //  0031  MOVE	R10	R6
      0x7C1C0600,  //  0032  CALL	R7	3
      0x80040E00,  //  0033  RET	1	R7
      0x80040A00,  //  0034  RET	1	R5
    })
  )
);
/*******************************************************************/


/********************************************************************
** Solidified function: init
********************************************************************/
be_local_closure(class_ColorCycleColorProvider_init,   /* name */
  be_nested_proto(
    6,                          /* nstack */
    2,                          /* argc */
    10,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    0,                          /* has sup protos */
    NULL,                       /* no sub protos */
    1,                          /* has constants */
    &be_ktab_class_ColorCycleColorProvider,     /* shared constants */
    be_str_weak(init),
    &be_const_str_solidified,
    ( &(const binstruction[13]) {  /* code */
      0x60080003,  //  0000  GETGBL	R2	G3
      0x5C0C0000,  //  0001  MOVE	R3	R0
      0x7C080200,  //  0002  CALL	R2	1
      0x8C080516,  //  0003  GETMET	R2	R2	K22
      0x5C100200,  //  0004  MOVE	R4	R1
      0x7C080400,  //  0005  CALL	R2	2
      0x8808010D,  //  0006  GETMBR	R2	R0	K13
      0x90020903,  //  0007  SETMBR	R0	K4	K3
      0x880C0110,  //  0008  GETMBR	R3	R0	K16
      0x8C100101,  //  0009  GETMET	R4	R0	K1
      0x7C100200,  //  000A  CALL	R4	1
      0x980E1E04,  //  000B  SETIDX	R3	K15	R4
      0x80000000,  //  000C  RET	0
    })
  )
);
/*******************************************************************/


/********************************************************************
** Solidified function: _get_color_at_index
********************************************************************/
be_local_closure(class_ColorCycleColorProvider__get_color_at_index,   /* name */
  be_nested_proto(
    8,                          /* nstack */
    2,                          /* argc */
    10,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    0,                          /* has sup protos */
    NULL,                       /* no sub protos */
    1,                          /* has constants */
    &be_ktab_class_ColorCycleColorProvider,     /* shared constants */
    be_str_weak(_get_color_at_index),
    &be_const_str_solidified,
    ( &(const binstruction[20]) {  /* code */
      0x8808010D,  //  0000  GETMBR	R2	R0	K13
      0x600C000C,  //  0001  GETGBL	R3	G12
      0x5C100400,  //  0002  MOVE	R4	R2
      0x7C0C0200,  //  0003  CALL	R3	1
      0x54120003,  //  0004  LDINT	R4	4
      0x0C0C0604,  //  0005  DIV	R3	R3	R4
      0x1C100703,  //  0006  EQ	R4	R3	K3
      0x74120003,  //  0007  JMPT	R4	#000C
      0x28100203,  //  0008  GE	R4	R1	R3
      0x74120001,  //  0009  JMPT	R4	#000C
      0x14100303,  //  000A  LT	R4	R1	K3
      0x78120000,  //  000B  JMPF	R4	#000D
      0x80060600,  //  000C  RET	1	K3
      0x8C100517,  //  000D  GETMET	R4	R2	K23
      0x541A0003,  //  000E  LDINT	R6	4
      0x08180206,  //  000F  MUL	R6	R1	R6
      0x541DFFFB,  //  0010  LDINT	R7	-4
      0x7C100600,  //  0011  CALL	R4	3
      0x30100918,  //  0012  OR	R4	R4	K24
      0x80040800,  //  0013  RET	1	R4
    })
  )
);
/*******************************************************************/


/********************************************************************
** Solidified class: ColorCycleColorProvider
********************************************************************/
extern const bclass be_class_ColorProvider;
be_local_class(ColorCycleColorProvider,
    1,
    &be_class_ColorProvider,
    be_nested_map(11,
    ( (struct bmapnode*) &(const bmapnode[]) {
        { be_const_key_weak(_get_color_at_index, -1), be_const_closure(class_ColorCycleColorProvider__get_color_at_index_closure) },
        { be_const_key_weak(current_index, -1), be_const_var(0) },
        { be_const_key_weak(_adjust_index, 1), be_const_closure(class_ColorCycleColorProvider__adjust_index_closure) },
        { be_const_key_weak(tostring, -1), be_const_closure(class_ColorCycleColorProvider_tostring_closure) },
        { be_const_key_weak(_get_palette_size, -1), be_const_closure(class_ColorCycleColorProvider__get_palette_size_closure) },
        { be_const_key_weak(on_param_changed, -1), be_const_closure(class_ColorCycleColorProvider_on_param_changed_closure) },
        { be_const_key_weak(member, -1), be_const_closure(class_ColorCycleColorProvider_member_closure) },
        { be_const_key_weak(get_color_for_value, -1), be_const_closure(class_ColorCycleColorProvider_get_color_for_value_closure) },
        { be_const_key_weak(PARAMS, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_map, {
        be_const_map( *     be_nested_map(4,
    ( (struct bmapnode*) &(const bmapnode[]) {
        { be_const_key_weak(palette, 2), be_const_bytes_instance(0C040C00FF0000FFFF00FF00FFFF000002) },
        { be_const_key_weak(palette_size, -1), be_const_bytes_instance(0C000300) },
        { be_const_key_weak(next, 1), be_const_bytes_instance(040000) },
        { be_const_key_weak(cycle_period, -1), be_const_bytes_instance(050000018813) },
    }))    ) } )) },
        { be_const_key_weak(init, -1), be_const_closure(class_ColorCycleColorProvider_init_closure) },
        { be_const_key_weak(produce_value, 0), be_const_closure(class_ColorCycleColorProvider_produce_value_closure) },
    })),
    be_str_weak(ColorCycleColorProvider)
);

/********************************************************************
** Solidified function: noise_fractal
********************************************************************/
be_local_closure(noise_fractal,   /* name */
  be_nested_proto(
    5,                          /* nstack */
    1,                          /* argc */
    0,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    0,                          /* has sup protos */
    NULL,                       /* no sub protos */
    1,                          /* has constants */
    ( &(const bvalue[15]) {     /* constants */
    /* K0   */  be_nested_str_weak(animation),
    /* K1   */  be_nested_str_weak(noise_animation),
    /* K2   */  be_nested_str_weak(rich_palette),
    /* K3   */  be_nested_str_weak(palette),
    /* K4   */  be_nested_str_weak(PALETTE_RAINBOW),
    /* K5   */  be_nested_str_weak(cycle_period),
    /* K6   */  be_nested_str_weak(transition_type),
    /* K7   */  be_const_int(1),
    /* K8   */  be_nested_str_weak(brightness),
    /* K9   */  be_nested_str_weak(color),
    /* K10  */  be_nested_str_weak(scale),
    /* K11  */  be_nested_str_weak(speed),
    /* K12  */  be_nested_str_weak(octaves),
    /* K13  */  be_const_int(3),
    /* K14  */  be_nested_str_weak(persistence),
    }),
    be_str_weak(noise_fractal),
    &be_const_str_solidified,
    ( &(const binstruction[25]) {  /* code */
      0xB8060000,  //  0000  GETNGBL	R1	K0
      0x8C040301,  //  0001  GETMET	R1	R1	K1
      0x5C0C0000,  //  0002  MOVE	R3	R0
      0x7C040400,  //  0003  CALL	R1	2
      0xB80A0000,  //  0004  GETNGBL	R2	K0
      0x8C080502,  //  0005  GETMET	R2	R2	K2
      0x5C100000,  //  0006  MOVE	R4	R0
      0x7C080400,  //  0007  CALL	R2	2
      0xB80E0000,  //  0008  GETNGBL	R3	K0
      0x880C0704,  //  0009  GETMBR	R3	R3	K4
      0x900A0603,  //  000A  SETMBR	R2	K3	R3
      0x540E1387,  //  000B  LDINT	R3	5000
      0x900A0A03,  //  000C  SETMBR	R2	K5	R3
      0x900A0D07,  //  000D  SETMBR	R2	K6	K7
      0x540E00FE,  //  000E  LDINT	R3	255
      0x900A1003,  //  000F  SETMBR	R2	K8	R3
      0x90061202,  //  0010  SETMBR	R1	K9	R2
      0x540E001D,  //  0011  LDINT	R3	30
      0x90061403,  //  0012  SETMBR	R1	K10	R3
      0x540E0013,  //  0013  LDINT	R3	20
      0x90061603,  //  0014  SETMBR	R1	K11	R3
      0x9006190D,  //  0015  SETMBR	R1	K12	K13
      0x540E007F,  //  0016  LDINT	R3	128
      0x90061C03,  //  0017  SETMBR	R1	K14	R3
      0x80040200,  //  0018  RET	1	R1
    })
  )
);
/*******************************************************************/


/********************************************************************
** Solidified function: register_event_handler
********************************************************************/
be_local_closure(register_event_handler,   /* name */
  be_nested_proto(
    12,                          /* nstack */
    5,                          /* argc */
    0,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    0,                          /* has sup protos */
    NULL,                       /* no sub protos */
    1,                          /* has constants */
    ( &(const bvalue[ 3]) {     /* constants */
    /* K0   */  be_nested_str_weak(animation),
    /* K1   */  be_nested_str_weak(event_manager),
    /* K2   */  be_nested_str_weak(register_handler),
    }),
    be_str_weak(register_event_handler),
    &be_const_str_solidified,
    ( &(const binstruction[10]) {  /* code */
      0xB8160000,  //  0000  GETNGBL	R5	K0
      0x88140B01,  //  0001  GETMBR	R5	R5	K1
      0x8C140B02,  //  0002  GETMET	R5	R5	K2
      0x5C1C0000,  //  0003  MOVE	R7	R0
      0x5C200200,  //  0004  MOVE	R8	R1
      0x5C240400,  //  0005  MOVE	R9	R2
      0x5C280600,  //  0006  MOVE	R10	R3
      0x5C2C0800,  //  0007  MOVE	R11	R4
      0x7C140C00,  //  0008  CALL	R5	6
      0x80040A00,  //  0009  RET	1	R5
    })
  )
);
/*******************************************************************/

// compact class 'StaticValueProvider' ktab size: 5, total: 15 (saved 80 bytes)
static const bvalue be_ktab_class_StaticValueProvider[5] = {
  /* K0   */  be_nested_str_weak(value),
  /* K1   */  be_nested_str_weak(instance),
  /* K2   */  be_nested_str_weak(introspect),
  /* K3   */  be_nested_str_weak(toptr),
  /* K4   */  be_nested_str_weak(StaticValueProvider_X28value_X3D_X25s_X29),
};


extern const bclass be_class_StaticValueProvider;

/********************************************************************
** Solidified function: <=
********************************************************************/
be_local_closure(class_StaticValueProvider__X3C_X3D,   /* name */
  be_nested_proto(
    5,                          /* nstack */
    2,                          /* argc */
    10,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    0,                          /* has sup protos */
    NULL,                       /* no sub protos */
    1,                          /* has constants */
    &be_ktab_class_StaticValueProvider,     /* shared constants */
    be_str_weak(_X3C_X3D),
    &be_const_str_solidified,
    ( &(const binstruction[ 6]) {  /* code */
      0x88080100,  //  0000  GETMBR	R2	R0	K0
      0x600C0009,  //  0001  GETGBL	R3	G9
      0x5C100200,  //  0002  MOVE	R4	R1
      0x7C0C0200,  //  0003  CALL	R3	1
      0x18080403,  //  0004  LE	R2	R2	R3
      0x80040400,  //  0005  RET	1	R2
    })
  )
);
/*******************************************************************/


/********************************************************************
** Solidified function: >
********************************************************************/
be_local_closure(class_StaticValueProvider__X3E,   /* name */
  be_nested_proto(
    5,                          /* nstack */
    2,                          /* argc */
    10,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    0,                          /* has sup protos */
    NULL,                       /* no sub protos */
    1,                          /* has constants */
    &be_ktab_class_StaticValueProvider,     /* shared constants */
    be_str_weak(_X3E),
    &be_const_str_solidified,
    ( &(const binstruction[ 6]) {  /* code */
      0x88080100,  //  0000  GETMBR	R2	R0	K0
      0x600C0009,  //  0001  GETGBL	R3	G9
      0x5C100200,  //  0002  MOVE	R4	R1
      0x7C0C0200,  //  0003  CALL	R3	1
      0x24080403,  //  0004  GT	R2	R2	R3
      0x80040400,  //  0005  RET	1	R2
    })
  )
);
/*******************************************************************/


/********************************************************************
** Solidified function: >=
********************************************************************/
be_local_closure(class_StaticValueProvider__X3E_X3D,   /* name */
  be_nested_proto(
    5,                          /* nstack */
    2,                          /* argc */
    10,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    0,                          /* has sup protos */
    NULL,                       /* no sub protos */
    1,                          /* has constants */
    &be_ktab_class_StaticValueProvider,     /* shared constants */
    be_str_weak(_X3E_X3D),
    &be_const_str_solidified,
    ( &(const binstruction[ 6]) {  /* code */
      0x88080100,  //  0000  GETMBR	R2	R0	K0
      0x600C0009,  //  0001  GETGBL	R3	G9
      0x5C100200,  //  0002  MOVE	R4	R1
      0x7C0C0200,  //  0003  CALL	R3	1
      0x28080403,  //  0004  GE	R2	R2	R3
      0x80040400,  //  0005  RET	1	R2
    })
  )
);
/*******************************************************************/


/********************************************************************
** Solidified function: produce_value
********************************************************************/
be_local_closure(class_StaticValueProvider_produce_value,   /* name */
  be_nested_proto(
    4,                          /* nstack */
    3,                          /* argc */
    10,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    0,                          /* has sup protos */
    NULL,                       /* no sub protos */
    1,                          /* has constants */
    &be_ktab_class_StaticValueProvider,     /* shared constants */
    be_str_weak(produce_value),
    &be_const_str_solidified,
    ( &(const binstruction[ 2]) {  /* code */
      0x880C0100,  //  0000  GETMBR	R3	R0	K0
      0x80040600,  //  0001  RET	1	R3
    })
  )
);
/*******************************************************************/


/********************************************************************
** Solidified function: !=
********************************************************************/
be_local_closure(class_StaticValueProvider__X21_X3D,   /* name */
  be_nested_proto(
    7,                          /* nstack */
    2,                          /* argc */
    10,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    0,                          /* has sup protos */
    NULL,                       /* no sub protos */
    1,                          /* has constants */
    &be_ktab_class_StaticValueProvider,     /* shared constants */
    be_str_weak(_X21_X3D),
    &be_const_str_solidified,
    ( &(const binstruction[22]) {  /* code */
      0x60080004,  //  0000  GETGBL	R2	G4
      0x5C0C0200,  //  0001  MOVE	R3	R1
      0x7C080200,  //  0002  CALL	R2	1
      0x1C080501,  //  0003  EQ	R2	R2	K1
      0x780A0009,  //  0004  JMPF	R2	#000F
      0xA40A0400,  //  0005  IMPORT	R2	K2
      0x8C0C0503,  //  0006  GETMET	R3	R2	K3
      0x5C140000,  //  0007  MOVE	R5	R0
      0x7C0C0400,  //  0008  CALL	R3	2
      0x8C100503,  //  0009  GETMET	R4	R2	K3
      0x5C180200,  //  000A  MOVE	R6	R1
      0x7C100400,  //  000B  CALL	R4	2
      0x200C0604,  //  000C  NE	R3	R3	R4
      0x80040600,  //  000D  RET	1	R3
      0x70020005,  //  000E  JMP		#0015
      0x88080100,  //  000F  GETMBR	R2	R0	K0
      0x600C0009,  //  0010  GETGBL	R3	G9
      0x5C100200,  //  0011  MOVE	R4	R1
      0x7C0C0200,  //  0012  CALL	R3	1
      0x20080403,  //  0013  NE	R2	R2	R3
      0x80040400,  //  0014  RET	1	R2
      0x80000000,  //  0015  RET	0
    })
  )
);
/*******************************************************************/


/********************************************************************
** Solidified function: ==
********************************************************************/
be_local_closure(class_StaticValueProvider__X3D_X3D,   /* name */
  be_nested_proto(
    7,                          /* nstack */
    2,                          /* argc */
    10,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    0,                          /* has sup protos */
    NULL,                       /* no sub protos */
    1,                          /* has constants */
    &be_ktab_class_StaticValueProvider,     /* shared constants */
    be_str_weak(_X3D_X3D),
    &be_const_str_solidified,
    ( &(const binstruction[22]) {  /* code */
      0x60080004,  //  0000  GETGBL	R2	G4
      0x5C0C0200,  //  0001  MOVE	R3	R1
      0x7C080200,  //  0002  CALL	R2	1
      0x1C080501,  //  0003  EQ	R2	R2	K1
      0x780A0009,  //  0004  JMPF	R2	#000F
      0xA40A0400,  //  0005  IMPORT	R2	K2
      0x8C0C0503,  //  0006  GETMET	R3	R2	K3
      0x5C140000,  //  0007  MOVE	R5	R0
      0x7C0C0400,  //  0008  CALL	R3	2
      0x8C100503,  //  0009  GETMET	R4	R2	K3
      0x5C180200,  //  000A  MOVE	R6	R1
      0x7C100400,  //  000B  CALL	R4	2
      0x1C0C0604,  //  000C  EQ	R3	R3	R4
      0x80040600,  //  000D  RET	1	R3
      0x70020005,  //  000E  JMP		#0015
      0x88080100,  //  000F  GETMBR	R2	R0	K0
      0x600C0009,  //  0010  GETGBL	R3	G9
      0x5C100200,  //  0011  MOVE	R4	R1
      0x7C0C0200,  //  0012  CALL	R3	1
      0x1C080403,  //  0013  EQ	R2	R2	R3
      0x80040400,  //  0014  RET	1	R2
      0x80000000,  //  0015  RET	0
    })
  )
);
/*******************************************************************/


/********************************************************************
** Solidified function: tostring
********************************************************************/
be_local_closure(class_StaticValueProvider_tostring,   /* name */
  be_nested_proto(
    4,                          /* nstack */
    1,                          /* argc */
    10,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    0,                          /* has sup protos */
    NULL,                       /* no sub protos */
    1,                          /* has constants */
    &be_ktab_class_StaticValueProvider,     /* shared constants */
    be_str_weak(tostring),
    &be_const_str_solidified,
    ( &(const binstruction[ 5]) {  /* code */
      0x60040018,  //  0000  GETGBL	R1	G24
      0x58080004,  //  0001  LDCONST	R2	K4
      0x880C0100,  //  0002  GETMBR	R3	R0	K0
      0x7C040400,  //  0003  CALL	R1	2
      0x80040200,  //  0004  RET	1	R1
    })
  )
);
/*******************************************************************/


/********************************************************************
** Solidified function: <
********************************************************************/
be_local_closure(class_StaticValueProvider__X3C,   /* name */
  be_nested_proto(
    5,                          /* nstack */
    2,                          /* argc */
    10,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    0,                          /* has sup protos */
    NULL,                       /* no sub protos */
    1,                          /* has constants */
    &be_ktab_class_StaticValueProvider,     /* shared constants */
    be_str_weak(_X3C),
    &be_const_str_solidified,
    ( &(const binstruction[ 6]) {  /* code */
      0x88080100,  //  0000  GETMBR	R2	R0	K0
      0x600C0009,  //  0001  GETGBL	R3	G9
      0x5C100200,  //  0002  MOVE	R4	R1
      0x7C0C0200,  //  0003  CALL	R3	1
      0x14080403,  //  0004  LT	R2	R2	R3
      0x80040400,  //  0005  RET	1	R2
    })
  )
);
/*******************************************************************/


/********************************************************************
** Solidified class: StaticValueProvider
********************************************************************/
extern const bclass be_class_ValueProvider;
be_local_class(StaticValueProvider,
    0,
    &be_class_ValueProvider,
    be_nested_map(9,
    ( (struct bmapnode*) &(const bmapnode[]) {
        { be_const_key_weak(_X3C_X3D, -1), be_const_closure(class_StaticValueProvider__X3C_X3D_closure) },
        { be_const_key_weak(_X3D_X3D, -1), be_const_closure(class_StaticValueProvider__X3D_X3D_closure) },
        { be_const_key_weak(PARAMS, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_map, {
        be_const_map( *     be_nested_map(1,
    ( (struct bmapnode*) &(const bmapnode[]) {
        { be_const_key_weak(value, -1), be_const_bytes_instance(0C0604) },
    }))    ) } )) },
        { be_const_key_weak(produce_value, -1), be_const_closure(class_StaticValueProvider_produce_value_closure) },
        { be_const_key_weak(_X21_X3D, -1), be_const_closure(class_StaticValueProvider__X21_X3D_closure) },
        { be_const_key_weak(_X3E_X3D, 1), be_const_closure(class_StaticValueProvider__X3E_X3D_closure) },
        { be_const_key_weak(_X3E, 2), be_const_closure(class_StaticValueProvider__X3E_closure) },
        { be_const_key_weak(tostring, -1), be_const_closure(class_StaticValueProvider_tostring_closure) },
        { be_const_key_weak(_X3C, -1), be_const_closure(class_StaticValueProvider__X3C_closure) },
    })),
    be_str_weak(StaticValueProvider)
);

/********************************************************************
** Solidified function: square
********************************************************************/
be_local_closure(square,   /* name */
  be_nested_proto(
    4,                          /* nstack */
    1,                          /* argc */
    0,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    0,                          /* has sup protos */
    NULL,                       /* no sub protos */
    1,                          /* has constants */
    ( &(const bvalue[ 4]) {     /* constants */
    /* K0   */  be_nested_str_weak(animation),
    /* K1   */  be_nested_str_weak(oscillator_value),
    /* K2   */  be_nested_str_weak(form),
    /* K3   */  be_nested_str_weak(SQUARE),
    }),
    be_str_weak(square),
    &be_const_str_solidified,
    ( &(const binstruction[ 8]) {  /* code */
      0xB8060000,  //  0000  GETNGBL	R1	K0
      0x8C040301,  //  0001  GETMET	R1	R1	K1
      0x5C0C0000,  //  0002  MOVE	R3	R0
      0x7C040400,  //  0003  CALL	R1	2
      0xB80A0000,  //  0004  GETNGBL	R2	K0
      0x88080503,  //  0005  GETMBR	R2	R2	K3
      0x90060402,  //  0006  SETMBR	R1	K2	R2
      0x80040200,  //  0007  RET	1	R1
    })
  )
);
/*******************************************************************/

// compact class 'EngineProxy' ktab size: 41, total: 114 (saved 584 bytes)
static const bvalue be_ktab_class_EngineProxy[41] = {
  /* K0   */  be_nested_str_weak(animations),
  /* K1   */  be_nested_str_weak(animation),
  /* K2   */  be_nested_str_weak(push),
  /* K3   */  be_nested_str_weak(stop_iteration),
  /* K4   */  be_nested_str_weak(time_ms),
  /* K5   */  be_nested_str_weak(strip_length),
  /* K6   */  be_nested_str_weak(engine),
  /* K7   */  be_nested_str_weak(update),
  /* K8   */  be_const_int(0),
  /* K9   */  be_nested_str_weak(value_providers),
  /* K10  */  be_nested_str_weak(is_running),
  /* K11  */  be_nested_str_weak(start_time),
  /* K12  */  be_const_int(1),
  /* K13  */  be_nested_str_weak(sequences),
  /* K14  */  be_nested_str_weak(_X25s_X28animations_X3D_X25s_X2C_X20sequences_X3D_X25s_X2C_X20value_providers_X3D_X25s_X2C_X20running_X3D_X25s_X29),
  /* K15  */  be_nested_str_weak(find),
  /* K16  */  be_nested_str_weak(remove),
  /* K17  */  be_nested_str_weak(iteration_stack),
  /* K18  */  be_nested_str_weak(priority),
  /* K19  */  be_nested_str_weak(temp_buffer),
  /* K20  */  be_nested_str_weak(clear),
  /* K21  */  be_nested_str_weak(render),
  /* K22  */  be_nested_str_weak(post_render),
  /* K23  */  be_nested_str_weak(blend_pixels),
  /* K24  */  be_nested_str_weak(pixels),
  /* K25  */  be_nested_str_weak(sequence_manager),
  /* K26  */  be_nested_str_weak(_add_sequence_manager),
  /* K27  */  be_nested_str_weak(value_provider),
  /* K28  */  be_nested_str_weak(_add_value_provider),
  /* K29  */  be_nested_str_weak(_add_animation),
  /* K30  */  be_nested_str_weak(type_error),
  /* K31  */  be_nested_str_weak(only_X20Animation_X2C_X20SequenceManager_X2C_X20or_X20ValueProvider),
  /* K32  */  be_nested_str_weak(stop),
  /* K33  */  be_nested_str_weak(init),
  /* K34  */  be_nested_str_weak(setup_template),
  /* K35  */  be_nested_str_weak(_sort_animations_by_priority),
  /* K36  */  be_nested_str_weak(start),
  /* K37  */  be_nested_str_weak(pop),
  /* K38  */  be_nested_str_weak(_remove_sequence_manager),
  /* K39  */  be_nested_str_weak(_remove_value_provider),
  /* K40  */  be_nested_str_weak(_remove_animation),
};


extern const bclass be_class_EngineProxy;

/********************************************************************
** Solidified function: get_animations
********************************************************************/
be_local_closure(class_EngineProxy_get_animations,   /* name */
  be_nested_proto(
    7,                          /* nstack */
    1,                          /* argc */
    10,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    0,                          /* has sup protos */
    NULL,                       /* no sub protos */
    1,                          /* has constants */
    &be_ktab_class_EngineProxy,     /* shared constants */
    be_str_weak(get_animations),
    &be_const_str_solidified,
    ( &(const binstruction[22]) {  /* code */
      0x60040012,  //  0000  GETGBL	R1	G18
      0x7C040000,  //  0001  CALL	R1	0
      0x60080010,  //  0002  GETGBL	R2	G16
      0x880C0100,  //  0003  GETMBR	R3	R0	K0
      0x7C080200,  //  0004  CALL	R2	1
      0xA802000B,  //  0005  EXBLK	0	#0012
      0x5C0C0400,  //  0006  MOVE	R3	R2
      0x7C0C0000,  //  0007  CALL	R3	0
      0x6010000F,  //  0008  GETGBL	R4	G15
      0x5C140600,  //  0009  MOVE	R5	R3
      0xB81A0200,  //  000A  GETNGBL	R6	K1
      0x88180D01,  //  000B  GETMBR	R6	R6	K1
      0x7C100400,  //  000C  CALL	R4	2
      0x78120002,  //  000D  JMPF	R4	#0011
      0x8C100302,  //  000E  GETMET	R4	R1	K2
      0x5C180600,  //  000F  MOVE	R6	R3
      0x7C100400,  //  0010  CALL	R4	2
      0x7001FFF3,  //  0011  JMP		#0006
      0x58080003,  //  0012  LDCONST	R2	K3
      0xAC080200,  //  0013  CATCH	R2	1	0
      0xB0080000,  //  0014  RAISE	2	R0	R0
      0x80040200,  //  0015  RET	1	R1
    })
  )
);
/*******************************************************************/


/********************************************************************
** Solidified function: update
********************************************************************/
be_local_closure(class_EngineProxy_update,   /* name */
  be_nested_proto(
    8,                          /* nstack */
    2,                          /* argc */
    10,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    0,                          /* has sup protos */
    NULL,                       /* no sub protos */
    1,                          /* has constants */
    &be_ktab_class_EngineProxy,     /* shared constants */
    be_str_weak(update),
    &be_const_str_solidified,
    ( &(const binstruction[73]) {  /* code */
      0x90020801,  //  0000  SETMBR	R0	K4	R1
      0x88080106,  //  0001  GETMBR	R2	R0	K6
      0x88080505,  //  0002  GETMBR	R2	R2	K5
      0x90020A02,  //  0003  SETMBR	R0	K5	R2
      0x60080003,  //  0004  GETGBL	R2	G3
      0x5C0C0000,  //  0005  MOVE	R3	R0
      0x7C080200,  //  0006  CALL	R2	1
      0x8C080507,  //  0007  GETMET	R2	R2	K7
      0x5C100200,  //  0008  MOVE	R4	R1
      0x7C080400,  //  0009  CALL	R2	2
      0x58080008,  //  000A  LDCONST	R2	K8
      0x600C000C,  //  000B  GETGBL	R3	G12
      0x88100109,  //  000C  GETMBR	R4	R0	K9
      0x7C0C0200,  //  000D  CALL	R3	1
      0x14100403,  //  000E  LT	R4	R2	R3
      0x7812000D,  //  000F  JMPF	R4	#001E
      0x88100109,  //  0010  GETMBR	R4	R0	K9
      0x94100802,  //  0011  GETIDX	R4	R4	R2
      0x8814090A,  //  0012  GETMBR	R5	R4	K10
      0x78160007,  //  0013  JMPF	R5	#001C
      0x8814090B,  //  0014  GETMBR	R5	R4	K11
      0x4C180000,  //  0015  LDNIL	R6
      0x1C140A06,  //  0016  EQ	R5	R5	R6
      0x78160000,  //  0017  JMPF	R5	#0019
      0x90121601,  //  0018  SETMBR	R4	K11	R1
      0x8C140907,  //  0019  GETMET	R5	R4	K7
      0x5C1C0200,  //  001A  MOVE	R7	R1
      0x7C140400,  //  001B  CALL	R5	2
      0x0008050C,  //  001C  ADD	R2	R2	K12
      0x7001FFEF,  //  001D  JMP		#000E
      0x58080008,  //  001E  LDCONST	R2	K8
      0x6010000C,  //  001F  GETGBL	R4	G12
      0x8814010D,  //  0020  GETMBR	R5	R0	K13
      0x7C100200,  //  0021  CALL	R4	1
      0x5C0C0800,  //  0022  MOVE	R3	R4
      0x14100403,  //  0023  LT	R4	R2	R3
      0x7812000D,  //  0024  JMPF	R4	#0033
      0x8810010D,  //  0025  GETMBR	R4	R0	K13
      0x94100802,  //  0026  GETIDX	R4	R4	R2
      0x8814090A,  //  0027  GETMBR	R5	R4	K10
      0x78160007,  //  0028  JMPF	R5	#0031
      0x8814090B,  //  0029  GETMBR	R5	R4	K11
      0x4C180000,  //  002A  LDNIL	R6
      0x1C140A06,  //  002B  EQ	R5	R5	R6
      0x78160000,  //  002C  JMPF	R5	#002E
      0x90121601,  //  002D  SETMBR	R4	K11	R1
      0x8C140907,  //  002E  GETMET	R5	R4	K7
      0x5C1C0200,  //  002F  MOVE	R7	R1
      0x7C140400,  //  0030  CALL	R5	2
      0x0008050C,  //  0031  ADD	R2	R2	K12
      0x7001FFEF,  //  0032  JMP		#0023
      0x58080008,  //  0033  LDCONST	R2	K8
      0x6010000C,  //  0034  GETGBL	R4	G12
      0x88140100,  //  0035  GETMBR	R5	R0	K0
      0x7C100200,  //  0036  CALL	R4	1
      0x5C0C0800,  //  0037  MOVE	R3	R4
      0x14100403,  //  0038  LT	R4	R2	R3
      0x7812000D,  //  0039  JMPF	R4	#0048
      0x88100100,  //  003A  GETMBR	R4	R0	K0
      0x94100802,  //  003B  GETIDX	R4	R4	R2
      0x8814090A,  //  003C  GETMBR	R5	R4	K10
      0x78160007,  //  003D  JMPF	R5	#0046
      0x8814090B,  //  003E  GETMBR	R5	R4	K11
      0x4C180000,  //  003F  LDNIL	R6
      0x1C140A06,  //  0040  EQ	R5	R5	R6
      0x78160000,  //  0041  JMPF	R5	#0043
      0x90121601,  //  0042  SETMBR	R4	K11	R1
      0x8C140907,  //  0043  GETMET	R5	R4	K7
      0x5C1C0200,  //  0044  MOVE	R7	R1
      0x7C140400,  //  0045  CALL	R5	2
      0x0008050C,  //  0046  ADD	R2	R2	K12
      0x7001FFEF,  //  0047  JMP		#0038
      0x80000000,  //  0048  RET	0
    })
  )
);
/*******************************************************************/


/********************************************************************
** Solidified function: tostring
********************************************************************/
be_local_closure(class_EngineProxy_tostring,   /* name */
  be_nested_proto(
    8,                          /* nstack */
    1,                          /* argc */
    10,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    0,                          /* has sup protos */
    NULL,                       /* no sub protos */
    1,                          /* has constants */
    &be_ktab_class_EngineProxy,     /* shared constants */
    be_str_weak(tostring),
    &be_const_str_solidified,
    ( &(const binstruction[17]) {  /* code */
      0x60040018,  //  0000  GETGBL	R1	G24
      0x5808000E,  //  0001  LDCONST	R2	K14
      0x600C0005,  //  0002  GETGBL	R3	G5
      0x5C100000,  //  0003  MOVE	R4	R0
      0x7C0C0200,  //  0004  CALL	R3	1
      0x6010000C,  //  0005  GETGBL	R4	G12
      0x88140100,  //  0006  GETMBR	R5	R0	K0
      0x7C100200,  //  0007  CALL	R4	1
      0x6014000C,  //  0008  GETGBL	R5	G12
      0x8818010D,  //  0009  GETMBR	R6	R0	K13
      0x7C140200,  //  000A  CALL	R5	1
      0x6018000C,  //  000B  GETGBL	R6	G12
      0x881C0109,  //  000C  GETMBR	R7	R0	K9
      0x7C180200,  //  000D  CALL	R6	1
      0x881C010A,  //  000E  GETMBR	R7	R0	K10
      0x7C040C00,  //  000F  CALL	R1	6
      0x80040200,  //  0010  RET	1	R1
    })
  )
);
/*******************************************************************/


/********************************************************************
** Solidified function: size_animations
********************************************************************/
be_local_closure(class_EngineProxy_size_animations,   /* name */
  be_nested_proto(
    3,                          /* nstack */
    1,                          /* argc */
    10,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    0,                          /* has sup protos */
    NULL,                       /* no sub protos */
    1,                          /* has constants */
    &be_ktab_class_EngineProxy,     /* shared constants */
    be_str_weak(size_animations),
    &be_const_str_solidified,
    ( &(const binstruction[ 4]) {  /* code */
      0x6004000C,  //  0000  GETGBL	R1	G12
      0x88080100,  //  0001  GETMBR	R2	R0	K0
      0x7C040200,  //  0002  CALL	R1	1
      0x80040200,  //  0003  RET	1	R1
    })
  )
);
/*******************************************************************/


/********************************************************************
** Solidified function: _add_sequence_manager
********************************************************************/
be_local_closure(class_EngineProxy__add_sequence_manager,   /* name */
  be_nested_proto(
    5,                          /* nstack */
    2,                          /* argc */
    10,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    0,                          /* has sup protos */
    NULL,                       /* no sub protos */
    1,                          /* has constants */
    &be_ktab_class_EngineProxy,     /* shared constants */
    be_str_weak(_add_sequence_manager),
    &be_const_str_solidified,
    ( &(const binstruction[17]) {  /* code */
      0x8808010D,  //  0000  GETMBR	R2	R0	K13
      0x8C08050F,  //  0001  GETMET	R2	R2	K15
      0x5C100200,  //  0002  MOVE	R4	R1
      0x7C080400,  //  0003  CALL	R2	2
      0x4C0C0000,  //  0004  LDNIL	R3
      0x1C080403,  //  0005  EQ	R2	R2	R3
      0x780A0006,  //  0006  JMPF	R2	#000E
      0x8808010D,  //  0007  GETMBR	R2	R0	K13
      0x8C080502,  //  0008  GETMET	R2	R2	K2
      0x5C100200,  //  0009  MOVE	R4	R1
      0x7C080400,  //  000A  CALL	R2	2
      0x50080200,  //  000B  LDBOOL	R2	1	0
      0x80040400,  //  000C  RET	1	R2
      0x70020001,  //  000D  JMP		#0010
      0x50080000,  //  000E  LDBOOL	R2	0	0
      0x80040400,  //  000F  RET	1	R2
      0x80000000,  //  0010  RET	0
    })
  )
);
/*******************************************************************/


/********************************************************************
** Solidified function: _remove_value_provider
********************************************************************/
be_local_closure(class_EngineProxy__remove_value_provider,   /* name */
  be_nested_proto(
    6,                          /* nstack */
    2,                          /* argc */
    10,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    0,                          /* has sup protos */
    NULL,                       /* no sub protos */
    1,                          /* has constants */
    &be_ktab_class_EngineProxy,     /* shared constants */
    be_str_weak(_remove_value_provider),
    &be_const_str_solidified,
    ( &(const binstruction[17]) {  /* code */
      0x88080109,  //  0000  GETMBR	R2	R0	K9
      0x8C08050F,  //  0001  GETMET	R2	R2	K15
      0x5C100200,  //  0002  MOVE	R4	R1
      0x7C080400,  //  0003  CALL	R2	2
      0x4C0C0000,  //  0004  LDNIL	R3
      0x200C0403,  //  0005  NE	R3	R2	R3
      0x780E0006,  //  0006  JMPF	R3	#000E
      0x880C0109,  //  0007  GETMBR	R3	R0	K9
      0x8C0C0710,  //  0008  GETMET	R3	R3	K16
      0x5C140400,  //  0009  MOVE	R5	R2
      0x7C0C0400,  //  000A  CALL	R3	2
      0x500C0200,  //  000B  LDBOOL	R3	1	0
      0x80040600,  //  000C  RET	1	R3
      0x70020001,  //  000D  JMP		#0010
      0x500C0000,  //  000E  LDBOOL	R3	0	0
      0x80040600,  //  000F  RET	1	R3
      0x80000000,  //  0010  RET	0
    })
  )
);
/*******************************************************************/


/********************************************************************
** Solidified function: push_iteration_context
********************************************************************/
be_local_closure(class_EngineProxy_push_iteration_context,   /* name */
  be_nested_proto(
    5,                          /* nstack */
    2,                          /* argc */
    10,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    0,                          /* has sup protos */
    NULL,                       /* no sub protos */
    1,                          /* has constants */
    &be_ktab_class_EngineProxy,     /* shared constants */
    be_str_weak(push_iteration_context),
    &be_const_str_solidified,
    ( &(const binstruction[ 5]) {  /* code */
      0x88080111,  //  0000  GETMBR	R2	R0	K17
      0x8C080502,  //  0001  GETMET	R2	R2	K2
      0x5C100200,  //  0002  MOVE	R4	R1
      0x7C080400,  //  0003  CALL	R2	2
      0x80000000,  //  0004  RET	0
    })
  )
);
/*******************************************************************/


/********************************************************************
** Solidified function: _remove_sequence_manager
********************************************************************/
be_local_closure(class_EngineProxy__remove_sequence_manager,   /* name */
  be_nested_proto(
    6,                          /* nstack */
    2,                          /* argc */
    10,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    0,                          /* has sup protos */
    NULL,                       /* no sub protos */
    1,                          /* has constants */
    &be_ktab_class_EngineProxy,     /* shared constants */
    be_str_weak(_remove_sequence_manager),
    &be_const_str_solidified,
    ( &(const binstruction[17]) {  /* code */
      0x8808010D,  //  0000  GETMBR	R2	R0	K13
      0x8C08050F,  //  0001  GETMET	R2	R2	K15
      0x5C100200,  //  0002  MOVE	R4	R1
      0x7C080400,  //  0003  CALL	R2	2
      0x4C0C0000,  //  0004  LDNIL	R3
      0x200C0403,  //  0005  NE	R3	R2	R3
      0x780E0006,  //  0006  JMPF	R3	#000E
      0x880C010D,  //  0007  GETMBR	R3	R0	K13
      0x8C0C0710,  //  0008  GETMET	R3	R3	K16
      0x5C140400,  //  0009  MOVE	R5	R2
      0x7C0C0400,  //  000A  CALL	R3	2
      0x500C0200,  //  000B  LDBOOL	R3	1	0
      0x80040600,  //  000C  RET	1	R3
      0x70020001,  //  000D  JMP		#0010
      0x500C0000,  //  000E  LDBOOL	R3	0	0
      0x80040600,  //  000F  RET	1	R3
      0x80000000,  //  0010  RET	0
    })
  )
);
/*******************************************************************/


/********************************************************************
** Solidified function: get_current_iteration_number
********************************************************************/
be_local_closure(class_EngineProxy_get_current_iteration_number,   /* name */
  be_nested_proto(
    3,                          /* nstack */
    1,                          /* argc */
    10,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    0,                          /* has sup protos */
    NULL,                       /* no sub protos */
    1,                          /* has constants */
    &be_ktab_class_EngineProxy,     /* shared constants */
    be_str_weak(get_current_iteration_number),
    &be_const_str_solidified,
    ( &(const binstruction[11]) {  /* code */
      0x6004000C,  //  0000  GETGBL	R1	G12
      0x88080111,  //  0001  GETMBR	R2	R0	K17
      0x7C040200,  //  0002  CALL	R1	1
      0x24040308,  //  0003  GT	R1	R1	K8
      0x78060003,  //  0004  JMPF	R1	#0009
      0x88040111,  //  0005  GETMBR	R1	R0	K17
      0x5409FFFE,  //  0006  LDINT	R2	-1
      0x94040202,  //  0007  GETIDX	R1	R1	R2
      0x80040200,  //  0008  RET	1	R1
      0x4C040000,  //  0009  LDNIL	R1
      0x80040200,  //  000A  RET	1	R1
    })
  )
);
/*******************************************************************/


/********************************************************************
** Solidified function: _sort_animations_by_priority
********************************************************************/
be_local_closure(class_EngineProxy__sort_animations_by_priority,   /* name */
  be_nested_proto(
    9,                          /* nstack */
    1,                          /* argc */
    10,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    0,                          /* has sup protos */
    NULL,                       /* no sub protos */
    1,                          /* has constants */
    &be_ktab_class_EngineProxy,     /* shared constants */
    be_str_weak(_sort_animations_by_priority),
    &be_const_str_solidified,
    ( &(const binstruction[48]) {  /* code */
      0x6004000C,  //  0000  GETGBL	R1	G12
      0x88080100,  //  0001  GETMBR	R2	R0	K0
      0x7C040200,  //  0002  CALL	R1	1
      0x1808030C,  //  0003  LE	R2	R1	K12
      0x780A0000,  //  0004  JMPF	R2	#0006
      0x80000400,  //  0005  RET	0
      0x5808000C,  //  0006  LDCONST	R2	K12
      0x140C0401,  //  0007  LT	R3	R2	R1
      0x780E0025,  //  0008  JMPF	R3	#002F
      0x880C0100,  //  0009  GETMBR	R3	R0	K0
      0x940C0602,  //  000A  GETIDX	R3	R3	R2
      0x6010000F,  //  000B  GETGBL	R4	G15
      0x5C140600,  //  000C  MOVE	R5	R3
      0xB81A0200,  //  000D  GETNGBL	R6	K1
      0x88180D01,  //  000E  GETMBR	R6	R6	K1
      0x7C100400,  //  000F  CALL	R4	2
      0x74120001,  //  0010  JMPT	R4	#0013
      0x0008050C,  //  0011  ADD	R2	R2	K12
      0x7001FFF3,  //  0012  JMP		#0007
      0x5C100400,  //  0013  MOVE	R4	R2
      0x24140908,  //  0014  GT	R5	R4	K8
      0x78160014,  //  0015  JMPF	R5	#002B
      0x0414090C,  //  0016  SUB	R5	R4	K12
      0x88180100,  //  0017  GETMBR	R6	R0	K0
      0x94140C05,  //  0018  GETIDX	R5	R6	R5
      0x6018000F,  //  0019  GETGBL	R6	G15
      0x5C1C0A00,  //  001A  MOVE	R7	R5
      0xB8220200,  //  001B  GETNGBL	R8	K1
      0x88201101,  //  001C  GETMBR	R8	R8	K1
      0x7C180400,  //  001D  CALL	R6	2
      0x781A0003,  //  001E  JMPF	R6	#0023
      0x88180B12,  //  001F  GETMBR	R6	R5	K18
      0x881C0712,  //  0020  GETMBR	R7	R3	K18
      0x28180C07,  //  0021  GE	R6	R6	R7
      0x781A0000,  //  0022  JMPF	R6	#0024
      0x70020006,  //  0023  JMP		#002B
      0x88180100,  //  0024  GETMBR	R6	R0	K0
      0x041C090C,  //  0025  SUB	R7	R4	K12
      0x88200100,  //  0026  GETMBR	R8	R0	K0
      0x941C1007,  //  0027  GETIDX	R7	R8	R7
      0x98180807,  //  0028  SETIDX	R6	R4	R7
      0x0410090C,  //  0029  SUB	R4	R4	K12
      0x7001FFE8,  //  002A  JMP		#0014
      0x88140100,  //  002B  GETMBR	R5	R0	K0
      0x98140803,  //  002C  SETIDX	R5	R4	R3
      0x0008050C,  //  002D  ADD	R2	R2	K12
      0x7001FFD7,  //  002E  JMP		#0007
      0x80000000,  //  002F  RET	0
    })
  )
);
/*******************************************************************/


/********************************************************************
** Solidified function: render
********************************************************************/
be_local_closure(class_EngineProxy_render,   /* name */
  be_nested_proto(
    14,                          /* nstack */
    4,                          /* argc */
    10,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    0,                          /* has sup protos */
    NULL,                       /* no sub protos */
    1,                          /* has constants */
    &be_ktab_class_EngineProxy,     /* shared constants */
    be_str_weak(render),
    &be_const_str_solidified,
    ( &(const binstruction[45]) {  /* code */
      0x8810010A,  //  0000  GETMBR	R4	R0	K10
      0x78120002,  //  0001  JMPF	R4	#0005
      0x4C100000,  //  0002  LDNIL	R4
      0x1C100204,  //  0003  EQ	R4	R1	R4
      0x78120001,  //  0004  JMPF	R4	#0007
      0x50100000,  //  0005  LDBOOL	R4	0	0
      0x80040800,  //  0006  RET	1	R4
      0x4C100000,  //  0007  LDNIL	R4
      0x1C100604,  //  0008  EQ	R4	R3	R4
      0x78120000,  //  0009  JMPF	R4	#000B
      0x880C0105,  //  000A  GETMBR	R3	R0	K5
      0x50100000,  //  000B  LDBOOL	R4	0	0
      0x58140008,  //  000C  LDCONST	R5	K8
      0x6018000C,  //  000D  GETGBL	R6	G12
      0x881C0100,  //  000E  GETMBR	R7	R0	K0
      0x7C180200,  //  000F  CALL	R6	1
      0x141C0A06,  //  0010  LT	R7	R5	R6
      0x781E0019,  //  0011  JMPF	R7	#002C
      0x881C0100,  //  0012  GETMBR	R7	R0	K0
      0x941C0E05,  //  0013  GETIDX	R7	R7	R5
      0x88200F0A,  //  0014  GETMBR	R8	R7	K10
      0x78220013,  //  0015  JMPF	R8	#002A
      0x88200113,  //  0016  GETMBR	R8	R0	K19
      0x8C201114,  //  0017  GETMET	R8	R8	K20
      0x7C200200,  //  0018  CALL	R8	1
      0x8C200F15,  //  0019  GETMET	R8	R7	K21
      0x88280113,  //  001A  GETMBR	R10	R0	K19
      0x5C2C0400,  //  001B  MOVE	R11	R2
      0x5C300600,  //  001C  MOVE	R12	R3
      0x7C200800,  //  001D  CALL	R8	4
      0x7822000A,  //  001E  JMPF	R8	#002A
      0x8C240F16,  //  001F  GETMET	R9	R7	K22
      0x882C0113,  //  0020  GETMBR	R11	R0	K19
      0x5C300400,  //  0021  MOVE	R12	R2
      0x5C340600,  //  0022  MOVE	R13	R3
      0x7C240800,  //  0023  CALL	R9	4
      0x8C240317,  //  0024  GETMET	R9	R1	K23
      0x882C0318,  //  0025  GETMBR	R11	R1	K24
      0x88300113,  //  0026  GETMBR	R12	R0	K19
      0x88301918,  //  0027  GETMBR	R12	R12	K24
      0x7C240600,  //  0028  CALL	R9	3
      0x50100200,  //  0029  LDBOOL	R4	1	0
      0x00140B0C,  //  002A  ADD	R5	R5	K12
      0x7001FFE3,  //  002B  JMP		#0010
      0x80040800,  //  002C  RET	1	R4
    })
  )
);
/*******************************************************************/


/********************************************************************
** Solidified function: add
********************************************************************/
be_local_closure(class_EngineProxy_add,   /* name */
  be_nested_proto(
    5,                          /* nstack */
    2,                          /* argc */
    10,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    0,                          /* has sup protos */
    NULL,                       /* no sub protos */
    1,                          /* has constants */
    &be_ktab_class_EngineProxy,     /* shared constants */
    be_str_weak(add),
    &be_const_str_solidified,
    ( &(const binstruction[35]) {  /* code */
      0x6008000F,  //  0000  GETGBL	R2	G15
      0x5C0C0200,  //  0001  MOVE	R3	R1
      0xB8120200,  //  0002  GETNGBL	R4	K1
      0x88100919,  //  0003  GETMBR	R4	R4	K25
      0x7C080400,  //  0004  CALL	R2	2
      0x780A0004,  //  0005  JMPF	R2	#000B
      0x8C08011A,  //  0006  GETMET	R2	R0	K26
      0x5C100200,  //  0007  MOVE	R4	R1
      0x7C080400,  //  0008  CALL	R2	2
      0x80040400,  //  0009  RET	1	R2
      0x70020016,  //  000A  JMP		#0022
      0x6008000F,  //  000B  GETGBL	R2	G15
      0x5C0C0200,  //  000C  MOVE	R3	R1
      0xB8120200,  //  000D  GETNGBL	R4	K1
      0x8810091B,  //  000E  GETMBR	R4	R4	K27
      0x7C080400,  //  000F  CALL	R2	2
      0x780A0004,  //  0010  JMPF	R2	#0016
      0x8C08011C,  //  0011  GETMET	R2	R0	K28
      0x5C100200,  //  0012  MOVE	R4	R1
      0x7C080400,  //  0013  CALL	R2	2
      0x80040400,  //  0014  RET	1	R2
      0x7002000B,  //  0015  JMP		#0022
      0x6008000F,  //  0016  GETGBL	R2	G15
      0x5C0C0200,  //  0017  MOVE	R3	R1
      0xB8120200,  //  0018  GETNGBL	R4	K1
      0x88100901,  //  0019  GETMBR	R4	R4	K1
      0x7C080400,  //  001A  CALL	R2	2
      0x780A0004,  //  001B  JMPF	R2	#0021
      0x8C08011D,  //  001C  GETMET	R2	R0	K29
      0x5C100200,  //  001D  MOVE	R4	R1
      0x7C080400,  //  001E  CALL	R2	2
      0x80040400,  //  001F  RET	1	R2
      0x70020000,  //  0020  JMP		#0022
      0xB0063D1F,  //  0021  RAISE	1	K30	K31
      0x80000000,  //  0022  RET	0
    })
  )
);
/*******************************************************************/


/********************************************************************
** Solidified function: stop
********************************************************************/
be_local_closure(class_EngineProxy_stop,   /* name */
  be_nested_proto(
    4,                          /* nstack */
    1,                          /* argc */
    10,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    0,                          /* has sup protos */
    NULL,                       /* no sub protos */
    1,                          /* has constants */
    &be_ktab_class_EngineProxy,     /* shared constants */
    be_str_weak(stop),
    &be_const_str_solidified,
    ( &(const binstruction[30]) {  /* code */
      0x58040008,  //  0000  LDCONST	R1	K8
      0x6008000C,  //  0001  GETGBL	R2	G12
      0x880C0100,  //  0002  GETMBR	R3	R0	K0
      0x7C080200,  //  0003  CALL	R2	1
      0x14080202,  //  0004  LT	R2	R1	R2
      0x780A0005,  //  0005  JMPF	R2	#000C
      0x88080100,  //  0006  GETMBR	R2	R0	K0
      0x94080401,  //  0007  GETIDX	R2	R2	R1
      0x8C080520,  //  0008  GETMET	R2	R2	K32
      0x7C080200,  //  0009  CALL	R2	1
      0x0004030C,  //  000A  ADD	R1	R1	K12
      0x7001FFF4,  //  000B  JMP		#0001
      0x58040008,  //  000C  LDCONST	R1	K8
      0x6008000C,  //  000D  GETGBL	R2	G12
      0x880C010D,  //  000E  GETMBR	R3	R0	K13
      0x7C080200,  //  000F  CALL	R2	1
      0x14080202,  //  0010  LT	R2	R1	R2
      0x780A0005,  //  0011  JMPF	R2	#0018
      0x8808010D,  //  0012  GETMBR	R2	R0	K13
      0x94080401,  //  0013  GETIDX	R2	R2	R1
      0x8C080520,  //  0014  GETMET	R2	R2	K32
      0x7C080200,  //  0015  CALL	R2	1
      0x0004030C,  //  0016  ADD	R1	R1	K12
      0x7001FFF4,  //  0017  JMP		#000D
      0x60080003,  //  0018  GETGBL	R2	G3
      0x5C0C0000,  //  0019  MOVE	R3	R0
      0x7C080200,  //  001A  CALL	R2	1
      0x8C080520,  //  001B  GETMET	R2	R2	K32
      0x7C080200,  //  001C  CALL	R2	1
      0x80040000,  //  001D  RET	1	R0
    })
  )
);
/*******************************************************************/


/********************************************************************
** Solidified function: update_current_iteration
********************************************************************/
be_local_closure(class_EngineProxy_update_current_iteration,   /* name */
  be_nested_proto(
    4,                          /* nstack */
    2,                          /* argc */
    10,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    0,                          /* has sup protos */
    NULL,                       /* no sub protos */
    1,                          /* has constants */
    &be_ktab_class_EngineProxy,     /* shared constants */
    be_str_weak(update_current_iteration),
    &be_const_str_solidified,
    ( &(const binstruction[ 9]) {  /* code */
      0x6008000C,  //  0000  GETGBL	R2	G12
      0x880C0111,  //  0001  GETMBR	R3	R0	K17
      0x7C080200,  //  0002  CALL	R2	1
      0x24080508,  //  0003  GT	R2	R2	K8
      0x780A0002,  //  0004  JMPF	R2	#0008
      0x88080111,  //  0005  GETMBR	R2	R0	K17
      0x540DFFFE,  //  0006  LDINT	R3	-1
      0x98080601,  //  0007  SETIDX	R2	R3	R1
      0x80000000,  //  0008  RET	0
    })
  )
);
/*******************************************************************/


/********************************************************************
** Solidified function: init
********************************************************************/
be_local_closure(class_EngineProxy_init,   /* name */
  be_nested_proto(
    5,                          /* nstack */
    2,                          /* argc */
    10,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    0,                          /* has sup protos */
    NULL,                       /* no sub protos */
    1,                          /* has constants */
    &be_ktab_class_EngineProxy,     /* shared constants */
    be_str_weak(init),
    &be_const_str_solidified,
    ( &(const binstruction[25]) {  /* code */
      0x60080003,  //  0000  GETGBL	R2	G3
      0x5C0C0000,  //  0001  MOVE	R3	R0
      0x7C080200,  //  0002  CALL	R2	1
      0x8C080521,  //  0003  GETMET	R2	R2	K33
      0x5C100200,  //  0004  MOVE	R4	R1
      0x7C080400,  //  0005  CALL	R2	2
      0x88080106,  //  0006  GETMBR	R2	R0	K6
      0x88080513,  //  0007  GETMBR	R2	R2	K19
      0x90022602,  //  0008  SETMBR	R0	K19	R2
      0x60080012,  //  0009  GETGBL	R2	G18
      0x7C080000,  //  000A  CALL	R2	0
      0x90020002,  //  000B  SETMBR	R0	K0	R2
      0x60080012,  //  000C  GETGBL	R2	G18
      0x7C080000,  //  000D  CALL	R2	0
      0x90021A02,  //  000E  SETMBR	R0	K13	R2
      0x60080012,  //  000F  GETGBL	R2	G18
      0x7C080000,  //  0010  CALL	R2	0
      0x90021202,  //  0011  SETMBR	R0	K9	R2
      0x60080012,  //  0012  GETGBL	R2	G18
      0x7C080000,  //  0013  CALL	R2	0
      0x90022202,  //  0014  SETMBR	R0	K17	R2
      0x90020908,  //  0015  SETMBR	R0	K4	K8
      0x8C080122,  //  0016  GETMET	R2	R0	K34
      0x7C080200,  //  0017  CALL	R2	1
      0x80000000,  //  0018  RET	0
    })
  )
);
/*******************************************************************/


/********************************************************************
** Solidified function: _add_animation
********************************************************************/
be_local_closure(class_EngineProxy__add_animation,   /* name */
  be_nested_proto(
    5,                          /* nstack */
    2,                          /* argc */
    10,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    0,                          /* has sup protos */
    NULL,                       /* no sub protos */
    1,                          /* has constants */
    &be_ktab_class_EngineProxy,     /* shared constants */
    be_str_weak(_add_animation),
    &be_const_str_solidified,
    ( &(const binstruction[25]) {  /* code */
      0x88080100,  //  0000  GETMBR	R2	R0	K0
      0x8C08050F,  //  0001  GETMET	R2	R2	K15
      0x5C100200,  //  0002  MOVE	R4	R1
      0x7C080400,  //  0003  CALL	R2	2
      0x4C0C0000,  //  0004  LDNIL	R3
      0x1C080403,  //  0005  EQ	R2	R2	R3
      0x780A000E,  //  0006  JMPF	R2	#0016
      0x88080100,  //  0007  GETMBR	R2	R0	K0
      0x8C080502,  //  0008  GETMET	R2	R2	K2
      0x5C100200,  //  0009  MOVE	R4	R1
      0x7C080400,  //  000A  CALL	R2	2
      0x8C080123,  //  000B  GETMET	R2	R0	K35
      0x7C080200,  //  000C  CALL	R2	1
      0x8808010A,  //  000D  GETMBR	R2	R0	K10
      0x780A0003,  //  000E  JMPF	R2	#0013
      0x8C080324,  //  000F  GETMET	R2	R1	K36
      0x88100106,  //  0010  GETMBR	R4	R0	K6
      0x88100904,  //  0011  GETMBR	R4	R4	K4
      0x7C080400,  //  0012  CALL	R2	2
      0x50080200,  //  0013  LDBOOL	R2	1	0
      0x80040400,  //  0014  RET	1	R2
      0x70020001,  //  0015  JMP		#0018
      0x50080000,  //  0016  LDBOOL	R2	0	0
      0x80040400,  //  0017  RET	1	R2
      0x80000000,  //  0018  RET	0
    })
  )
);
/*******************************************************************/


/********************************************************************
** Solidified function: _add_value_provider
********************************************************************/
be_local_closure(class_EngineProxy__add_value_provider,   /* name */
  be_nested_proto(
    5,                          /* nstack */
    2,                          /* argc */
    10,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    0,                          /* has sup protos */
    NULL,                       /* no sub protos */
    1,                          /* has constants */
    &be_ktab_class_EngineProxy,     /* shared constants */
    be_str_weak(_add_value_provider),
    &be_const_str_solidified,
    ( &(const binstruction[17]) {  /* code */
      0x88080109,  //  0000  GETMBR	R2	R0	K9
      0x8C08050F,  //  0001  GETMET	R2	R2	K15
      0x5C100200,  //  0002  MOVE	R4	R1
      0x7C080400,  //  0003  CALL	R2	2
      0x4C0C0000,  //  0004  LDNIL	R3
      0x1C080403,  //  0005  EQ	R2	R2	R3
      0x780A0006,  //  0006  JMPF	R2	#000E
      0x88080109,  //  0007  GETMBR	R2	R0	K9
      0x8C080502,  //  0008  GETMET	R2	R2	K2
      0x5C100200,  //  0009  MOVE	R4	R1
      0x7C080400,  //  000A  CALL	R2	2
      0x50080200,  //  000B  LDBOOL	R2	1	0
      0x80040400,  //  000C  RET	1	R2
      0x70020001,  //  000D  JMP		#0010
      0x50080000,  //  000E  LDBOOL	R2	0	0
      0x80040400,  //  000F  RET	1	R2
      0x80000000,  //  0010  RET	0
    })
  )
);
/*******************************************************************/


/********************************************************************
** Solidified function: is_empty
********************************************************************/
be_local_closure(class_EngineProxy_is_empty,   /* name */
  be_nested_proto(
    3,                          /* nstack */
    1,                          /* argc */
    10,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    0,                          /* has sup protos */
    NULL,                       /* no sub protos */
    1,                          /* has constants */
    &be_ktab_class_EngineProxy,     /* shared constants */
    be_str_weak(is_empty),
    &be_const_str_solidified,
    ( &(const binstruction[18]) {  /* code */
      0x6004000C,  //  0000  GETGBL	R1	G12
      0x88080100,  //  0001  GETMBR	R2	R0	K0
      0x7C040200,  //  0002  CALL	R1	1
      0x1C040308,  //  0003  EQ	R1	R1	K8
      0x78060009,  //  0004  JMPF	R1	#000F
      0x6004000C,  //  0005  GETGBL	R1	G12
      0x8808010D,  //  0006  GETMBR	R2	R0	K13
      0x7C040200,  //  0007  CALL	R1	1
      0x1C040308,  //  0008  EQ	R1	R1	K8
      0x78060004,  //  0009  JMPF	R1	#000F
      0x6004000C,  //  000A  GETGBL	R1	G12
      0x88080109,  //  000B  GETMBR	R2	R0	K9
      0x7C040200,  //  000C  CALL	R1	1
      0x1C040308,  //  000D  EQ	R1	R1	K8
      0x74060000,  //  000E  JMPT	R1	#0010
      0x50040001,  //  000F  LDBOOL	R1	0	1
      0x50040200,  //  0010  LDBOOL	R1	1	0
      0x80040200,  //  0011  RET	1	R1
    })
  )
);
/*******************************************************************/


/********************************************************************
** Solidified function: pop_iteration_context
********************************************************************/
be_local_closure(class_EngineProxy_pop_iteration_context,   /* name */
  be_nested_proto(
    3,                          /* nstack */
    1,                          /* argc */
    10,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    0,                          /* has sup protos */
    NULL,                       /* no sub protos */
    1,                          /* has constants */
    &be_ktab_class_EngineProxy,     /* shared constants */
    be_str_weak(pop_iteration_context),
    &be_const_str_solidified,
    ( &(const binstruction[11]) {  /* code */
      0x6004000C,  //  0000  GETGBL	R1	G12
      0x88080111,  //  0001  GETMBR	R2	R0	K17
      0x7C040200,  //  0002  CALL	R1	1
      0x24040308,  //  0003  GT	R1	R1	K8
      0x78060003,  //  0004  JMPF	R1	#0009
      0x88040111,  //  0005  GETMBR	R1	R0	K17
      0x8C040325,  //  0006  GETMET	R1	R1	K37
      0x7C040200,  //  0007  CALL	R1	1
      0x80040200,  //  0008  RET	1	R1
      0x4C040000,  //  0009  LDNIL	R1
      0x80040200,  //  000A  RET	1	R1
    })
  )
);
/*******************************************************************/


/********************************************************************
** Solidified function: setup_template
********************************************************************/
be_local_closure(class_EngineProxy_setup_template,   /* name */
  be_nested_proto(
    1,                          /* nstack */
    1,                          /* argc */
    10,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    0,                          /* has sup protos */
    NULL,                       /* no sub protos */
    1,                          /* has constants */
    &be_ktab_class_EngineProxy,     /* shared constants */
    be_str_weak(setup_template),
    &be_const_str_solidified,
    ( &(const binstruction[ 1]) {  /* code */
      0x80000000,  //  0000  RET	0
    })
  )
);
/*******************************************************************/


/********************************************************************
** Solidified function: get_strip_length
********************************************************************/
be_local_closure(class_EngineProxy_get_strip_length,   /* name */
  be_nested_proto(
    2,                          /* nstack */
    1,                          /* argc */
    10,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    0,                          /* has sup protos */
    NULL,                       /* no sub protos */
    1,                          /* has constants */
    &be_ktab_class_EngineProxy,     /* shared constants */
    be_str_weak(get_strip_length),
    &be_const_str_solidified,
    ( &(const binstruction[ 3]) {  /* code */
      0x88040106,  //  0000  GETMBR	R1	R0	K6
      0x88040305,  //  0001  GETMBR	R1	R1	K5
      0x80040200,  //  0002  RET	1	R1
    })
  )
);
/*******************************************************************/


/********************************************************************
** Solidified function: clear
********************************************************************/
be_local_closure(class_EngineProxy_clear,   /* name */
  be_nested_proto(
    3,                          /* nstack */
    1,                          /* argc */
    10,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    0,                          /* has sup protos */
    NULL,                       /* no sub protos */
    1,                          /* has constants */
    &be_ktab_class_EngineProxy,     /* shared constants */
    be_str_weak(clear),
    &be_const_str_solidified,
    ( &(const binstruction[12]) {  /* code */
      0x8C040120,  //  0000  GETMET	R1	R0	K32
      0x7C040200,  //  0001  CALL	R1	1
      0x60040012,  //  0002  GETGBL	R1	G18
      0x7C040000,  //  0003  CALL	R1	0
      0x90020001,  //  0004  SETMBR	R0	K0	R1
      0x60040012,  //  0005  GETGBL	R1	G18
      0x7C040000,  //  0006  CALL	R1	0
      0x90021A01,  //  0007  SETMBR	R0	K13	R1
      0x60040012,  //  0008  GETGBL	R1	G18
      0x7C040000,  //  0009  CALL	R1	0
      0x90021201,  //  000A  SETMBR	R0	K9	R1
      0x80040000,  //  000B  RET	1	R0
    })
  )
);
/*******************************************************************/


/********************************************************************
** Solidified function: remove
********************************************************************/
be_local_closure(class_EngineProxy_remove,   /* name */
  be_nested_proto(
    5,                          /* nstack */
    2,                          /* argc */
    10,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    0,                          /* has sup protos */
    NULL,                       /* no sub protos */
    1,                          /* has constants */
    &be_ktab_class_EngineProxy,     /* shared constants */
    be_str_weak(remove),
    &be_const_str_solidified,
    ( &(const binstruction[34]) {  /* code */
      0x6008000F,  //  0000  GETGBL	R2	G15
      0x5C0C0200,  //  0001  MOVE	R3	R1
      0xB8120200,  //  0002  GETNGBL	R4	K1
      0x88100919,  //  0003  GETMBR	R4	R4	K25
      0x7C080400,  //  0004  CALL	R2	2
      0x780A0004,  //  0005  JMPF	R2	#000B
      0x8C080126,  //  0006  GETMET	R2	R0	K38
      0x5C100200,  //  0007  MOVE	R4	R1
      0x7C080400,  //  0008  CALL	R2	2
      0x80040400,  //  0009  RET	1	R2
      0x70020015,  //  000A  JMP		#0021
      0x6008000F,  //  000B  GETGBL	R2	G15
      0x5C0C0200,  //  000C  MOVE	R3	R1
      0xB8120200,  //  000D  GETNGBL	R4	K1
      0x8810091B,  //  000E  GETMBR	R4	R4	K27
      0x7C080400,  //  000F  CALL	R2	2
      0x780A0004,  //  0010  JMPF	R2	#0016
      0x8C080127,  //  0011  GETMET	R2	R0	K39
      0x5C100200,  //  0012  MOVE	R4	R1
      0x7C080400,  //  0013  CALL	R2	2
      0x80040400,  //  0014  RET	1	R2
      0x7002000A,  //  0015  JMP		#0021
      0x6008000F,  //  0016  GETGBL	R2	G15
      0x5C0C0200,  //  0017  MOVE	R3	R1
      0xB8120200,  //  0018  GETNGBL	R4	K1
      0x88100901,  //  0019  GETMBR	R4	R4	K1
      0x7C080400,  //  001A  CALL	R2	2
      0x780A0004,  //  001B  JMPF	R2	#0021
      0x8C080128,  //  001C  GETMET	R2	R0	K40
      0x5C100200,  //  001D  MOVE	R4	R1
      0x7C080400,  //  001E  CALL	R2	2
      0x80040400,  //  001F  RET	1	R2
      0x7001FFFF,  //  0020  JMP		#0021
      0x80000000,  //  0021  RET	0
    })
  )
);
/*******************************************************************/


/********************************************************************
** Solidified function: _remove_animation
********************************************************************/
be_local_closure(class_EngineProxy__remove_animation,   /* name */
  be_nested_proto(
    6,                          /* nstack */
    2,                          /* argc */
    10,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    0,                          /* has sup protos */
    NULL,                       /* no sub protos */
    1,                          /* has constants */
    &be_ktab_class_EngineProxy,     /* shared constants */
    be_str_weak(_remove_animation),
    &be_const_str_solidified,
    ( &(const binstruction[17]) {  /* code */
      0x88080100,  //  0000  GETMBR	R2	R0	K0
      0x8C08050F,  //  0001  GETMET	R2	R2	K15
      0x5C100200,  //  0002  MOVE	R4	R1
      0x7C080400,  //  0003  CALL	R2	2
      0x4C0C0000,  //  0004  LDNIL	R3
      0x200C0403,  //  0005  NE	R3	R2	R3
      0x780E0006,  //  0006  JMPF	R3	#000E
      0x880C0100,  //  0007  GETMBR	R3	R0	K0
      0x8C0C0710,  //  0008  GETMET	R3	R3	K16
      0x5C140400,  //  0009  MOVE	R5	R2
      0x7C0C0400,  //  000A  CALL	R3	2
      0x500C0200,  //  000B  LDBOOL	R3	1	0
      0x80040600,  //  000C  RET	1	R3
      0x70020001,  //  000D  JMP		#0010
      0x500C0000,  //  000E  LDBOOL	R3	0	0
      0x80040600,  //  000F  RET	1	R3
      0x80000000,  //  0010  RET	0
    })
  )
);
/*******************************************************************/


/********************************************************************
** Solidified function: start
********************************************************************/
be_local_closure(class_EngineProxy_start,   /* name */
  be_nested_proto(
    6,                          /* nstack */
    2,                          /* argc */
    10,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    0,                          /* has sup protos */
    NULL,                       /* no sub protos */
    1,                          /* has constants */
    &be_ktab_class_EngineProxy,     /* shared constants */
    be_str_weak(start),
    &be_const_str_solidified,
    ( &(const binstruction[46]) {  /* code */
      0x60080003,  //  0000  GETGBL	R2	G3
      0x5C0C0000,  //  0001  MOVE	R3	R0
      0x7C080200,  //  0002  CALL	R2	1
      0x8C080524,  //  0003  GETMET	R2	R2	K36
      0x5C100200,  //  0004  MOVE	R4	R1
      0x7C080400,  //  0005  CALL	R2	2
      0x58080008,  //  0006  LDCONST	R2	K8
      0x600C000C,  //  0007  GETGBL	R3	G12
      0x8810010D,  //  0008  GETMBR	R4	R0	K13
      0x7C0C0200,  //  0009  CALL	R3	1
      0x140C0403,  //  000A  LT	R3	R2	R3
      0x780E0006,  //  000B  JMPF	R3	#0013
      0x880C010D,  //  000C  GETMBR	R3	R0	K13
      0x940C0602,  //  000D  GETIDX	R3	R3	R2
      0x8C0C0724,  //  000E  GETMET	R3	R3	K36
      0x5C140200,  //  000F  MOVE	R5	R1
      0x7C0C0400,  //  0010  CALL	R3	2
      0x0008050C,  //  0011  ADD	R2	R2	K12
      0x7001FFF3,  //  0012  JMP		#0007
      0x58080008,  //  0013  LDCONST	R2	K8
      0x600C000C,  //  0014  GETGBL	R3	G12
      0x88100109,  //  0015  GETMBR	R4	R0	K9
      0x7C0C0200,  //  0016  CALL	R3	1
      0x140C0403,  //  0017  LT	R3	R2	R3
      0x780E0006,  //  0018  JMPF	R3	#0020
      0x880C0109,  //  0019  GETMBR	R3	R0	K9
      0x940C0602,  //  001A  GETIDX	R3	R3	R2
      0x8C0C0724,  //  001B  GETMET	R3	R3	K36
      0x5C140200,  //  001C  MOVE	R5	R1
      0x7C0C0400,  //  001D  CALL	R3	2
      0x0008050C,  //  001E  ADD	R2	R2	K12
      0x7001FFF3,  //  001F  JMP		#0014
      0x58080008,  //  0020  LDCONST	R2	K8
      0x600C000C,  //  0021  GETGBL	R3	G12
      0x88100100,  //  0022  GETMBR	R4	R0	K0
      0x7C0C0200,  //  0023  CALL	R3	1
      0x140C0403,  //  0024  LT	R3	R2	R3
      0x780E0006,  //  0025  JMPF	R3	#002D
      0x880C0100,  //  0026  GETMBR	R3	R0	K0
      0x940C0602,  //  0027  GETIDX	R3	R3	R2
      0x8C0C0724,  //  0028  GETMET	R3	R3	K36
      0x5C140200,  //  0029  MOVE	R5	R1
      0x7C0C0400,  //  002A  CALL	R3	2
      0x0008050C,  //  002B  ADD	R2	R2	K12
      0x7001FFF3,  //  002C  JMP		#0021
      0x80040000,  //  002D  RET	1	R0
    })
  )
);
/*******************************************************************/


/********************************************************************
** Solidified class: EngineProxy
********************************************************************/
extern const bclass be_class_Animation;
be_local_class(EngineProxy,
    7,
    &be_class_Animation,
    be_nested_map(32,
    ( (struct bmapnode*) &(const bmapnode[]) {
        { be_const_key_weak(start, -1), be_const_closure(class_EngineProxy_start_closure) },
        { be_const_key_weak(sequences, -1), be_const_var(1) },
        { be_const_key_weak(temp_buffer, 15), be_const_var(4) },
        { be_const_key_weak(iteration_stack, -1), be_const_var(5) },
        { be_const_key_weak(_remove_animation, -1), be_const_closure(class_EngineProxy__remove_animation_closure) },
        { be_const_key_weak(tostring, 16), be_const_closure(class_EngineProxy_tostring_closure) },
        { be_const_key_weak(size_animations, -1), be_const_closure(class_EngineProxy_size_animations_closure) },
        { be_const_key_weak(_add_sequence_manager, 4), be_const_closure(class_EngineProxy__add_sequence_manager_closure) },
        { be_const_key_weak(_remove_value_provider, -1), be_const_closure(class_EngineProxy__remove_value_provider_closure) },
        { be_const_key_weak(push_iteration_context, -1), be_const_closure(class_EngineProxy_push_iteration_context_closure) },
        { be_const_key_weak(_remove_sequence_manager, 12), be_const_closure(class_EngineProxy__remove_sequence_manager_closure) },
        { be_const_key_weak(get_current_iteration_number, -1), be_const_closure(class_EngineProxy_get_current_iteration_number_closure) },
        { be_const_key_weak(animations, -1), be_const_var(0) },
        { be_const_key_weak(render, -1), be_const_closure(class_EngineProxy_render_closure) },
        { be_const_key_weak(strip_length, -1), be_const_var(3) },
        { be_const_key_weak(clear, -1), be_const_closure(class_EngineProxy_clear_closure) },
        { be_const_key_weak(stop, 30), be_const_closure(class_EngineProxy_stop_closure) },
        { be_const_key_weak(time_ms, -1), be_const_var(6) },
        { be_const_key_weak(update_current_iteration, -1), be_const_closure(class_EngineProxy_update_current_iteration_closure) },
        { be_const_key_weak(init, 22), be_const_closure(class_EngineProxy_init_closure) },
        { be_const_key_weak(update, 26), be_const_closure(class_EngineProxy_update_closure) },
        { be_const_key_weak(_add_value_provider, 17), be_const_closure(class_EngineProxy__add_value_provider_closure) },
        { be_const_key_weak(is_empty, -1), be_const_closure(class_EngineProxy_is_empty_closure) },
        { be_const_key_weak(value_providers, -1), be_const_var(2) },
        { be_const_key_weak(pop_iteration_context, -1), be_const_closure(class_EngineProxy_pop_iteration_context_closure) },
        { be_const_key_weak(setup_template, -1), be_const_closure(class_EngineProxy_setup_template_closure) },
        { be_const_key_weak(_add_animation, 28), be_const_closure(class_EngineProxy__add_animation_closure) },
        { be_const_key_weak(get_strip_length, -1), be_const_closure(class_EngineProxy_get_strip_length_closure) },
        { be_const_key_weak(add, -1), be_const_closure(class_EngineProxy_add_closure) },
        { be_const_key_weak(remove, -1), be_const_closure(class_EngineProxy_remove_closure) },
        { be_const_key_weak(_sort_animations_by_priority, -1), be_const_closure(class_EngineProxy__sort_animations_by_priority_closure) },
        { be_const_key_weak(get_animations, 0), be_const_closure(class_EngineProxy_get_animations_closure) },
    })),
    be_str_weak(EngineProxy)
);
// compact class 'NoiseAnimation' ktab size: 49, total: 101 (saved 416 bytes)
static const bvalue be_ktab_class_NoiseAnimation[49] = {
  /* K0   */  be_nested_str_weak(init),
  /* K1   */  be_nested_str_weak(engine),
  /* K2   */  be_nested_str_weak(strip_length),
  /* K3   */  be_nested_str_weak(current_colors),
  /* K4   */  be_nested_str_weak(resize),
  /* K5   */  be_nested_str_weak(time_offset),
  /* K6   */  be_const_int(0),
  /* K7   */  be_const_int(-16777216),
  /* K8   */  be_const_int(1),
  /* K9   */  be_nested_str_weak(noise_table),
  /* K10  */  be_nested_str_weak(color),
  /* K11  */  be_nested_str_weak(animation),
  /* K12  */  be_nested_str_weak(rich_palette),
  /* K13  */  be_nested_str_weak(palette),
  /* K14  */  be_nested_str_weak(PALETTE_RAINBOW),
  /* K15  */  be_nested_str_weak(cycle_period),
  /* K16  */  be_nested_str_weak(transition_type),
  /* K17  */  be_nested_str_weak(brightness),
  /* K18  */  be_nested_str_weak(int),
  /* K19  */  be_nested_str_weak(add),
  /* K20  */  be_nested_str_weak(setmember),
  /* K21  */  be_nested_str_weak(seed),
  /* K22  */  be_const_int(1103515245),
  /* K23  */  be_const_int(2147483647),
  /* K24  */  be_nested_str_weak(update),
  /* K25  */  be_nested_str_weak(speed),
  /* K26  */  be_nested_str_weak(start_time),
  /* K27  */  be_nested_str_weak(tasmota),
  /* K28  */  be_nested_str_weak(scale_uint),
  /* K29  */  be_nested_str_weak(_calculate_noise),
  /* K30  */  be_nested_str_weak(_fractal_noise),
  /* K31  */  be_nested_str_weak(is_color_provider),
  /* K32  */  be_nested_str_weak(get_color_for_value),
  /* K33  */  be_nested_str_weak(resolve_value),
  /* K34  */  be_nested_str_weak(on_param_changed),
  /* K35  */  be_nested_str_weak(_init_noise_table),
  /* K36  */  be_nested_str_weak(width),
  /* K37  */  be_nested_str_weak(set_pixel_color),
  /* K38  */  be_nested_str_weak(is_value_provider),
  /* K39  */  be_nested_str_weak(0x_X2508x),
  /* K40  */  be_nested_str_weak(NoiseAnimation_X28color_X3D_X25s_X2C_X20scale_X3D_X25s_X2C_X20speed_X3D_X25s_X2C_X20octaves_X3D_X25s_X2C_X20priority_X3D_X25s_X2C_X20running_X3D_X25s_X29),
  /* K41  */  be_nested_str_weak(scale),
  /* K42  */  be_nested_str_weak(octaves),
  /* K43  */  be_nested_str_weak(priority),
  /* K44  */  be_nested_str_weak(is_running),
  /* K45  */  be_nested_str_weak(start),
  /* K46  */  be_nested_str_weak(persistence),
  /* K47  */  be_nested_str_weak(_noise_1d),
  /* K48  */  be_const_int(2),
};


extern const bclass be_class_NoiseAnimation;

/********************************************************************
** Solidified function: init
********************************************************************/
be_local_closure(class_NoiseAnimation_init,   /* name */
  be_nested_proto(
    7,                          /* nstack */
    2,                          /* argc */
    10,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    0,                          /* has sup protos */
    NULL,                       /* no sub protos */
    1,                          /* has constants */
    &be_ktab_class_NoiseAnimation,     /* shared constants */
    be_str_weak(init),
    &be_const_str_solidified,
    ( &(const binstruction[44]) {  /* code */
      0x60080003,  //  0000  GETGBL	R2	G3
      0x5C0C0000,  //  0001  MOVE	R3	R0
      0x7C080200,  //  0002  CALL	R2	1
      0x8C080500,  //  0003  GETMET	R2	R2	K0
      0x5C100200,  //  0004  MOVE	R4	R1
      0x7C080400,  //  0005  CALL	R2	2
      0x88080101,  //  0006  GETMBR	R2	R0	K1
      0x88080502,  //  0007  GETMBR	R2	R2	K2
      0x600C0012,  //  0008  GETGBL	R3	G18
      0x7C0C0000,  //  0009  CALL	R3	0
      0x90020603,  //  000A  SETMBR	R0	K3	R3
      0x880C0103,  //  000B  GETMBR	R3	R0	K3
      0x8C0C0704,  //  000C  GETMET	R3	R3	K4
      0x5C140400,  //  000D  MOVE	R5	R2
      0x7C0C0400,  //  000E  CALL	R3	2
      0x90020B06,  //  000F  SETMBR	R0	K5	K6
      0x580C0006,  //  0010  LDCONST	R3	K6
      0x14100602,  //  0011  LT	R4	R3	R2
      0x78120003,  //  0012  JMPF	R4	#0017
      0x88100103,  //  0013  GETMBR	R4	R0	K3
      0x98100707,  //  0014  SETIDX	R4	R3	K7
      0x000C0708,  //  0015  ADD	R3	R3	K8
      0x7001FFF9,  //  0016  JMP		#0011
      0x60100012,  //  0017  GETGBL	R4	G18
      0x7C100000,  //  0018  CALL	R4	0
      0x90021204,  //  0019  SETMBR	R0	K9	R4
      0x8810010A,  //  001A  GETMBR	R4	R0	K10
      0x4C140000,  //  001B  LDNIL	R5
      0x1C100805,  //  001C  EQ	R4	R4	R5
      0x7812000C,  //  001D  JMPF	R4	#002B
      0xB8121600,  //  001E  GETNGBL	R4	K11
      0x8C10090C,  //  001F  GETMET	R4	R4	K12
      0x5C180200,  //  0020  MOVE	R6	R1
      0x7C100400,  //  0021  CALL	R4	2
      0xB8161600,  //  0022  GETNGBL	R5	K11
      0x88140B0E,  //  0023  GETMBR	R5	R5	K14
      0x90121A05,  //  0024  SETMBR	R4	K13	R5
      0x54161387,  //  0025  LDINT	R5	5000
      0x90121E05,  //  0026  SETMBR	R4	K15	R5
      0x90122108,  //  0027  SETMBR	R4	K16	K8
      0x541600FE,  //  0028  LDINT	R5	255
      0x90122205,  //  0029  SETMBR	R4	K17	R5
      0x90021404,  //  002A  SETMBR	R0	K10	R4
      0x80000000,  //  002B  RET	0
    })
  )
);
/*******************************************************************/


/********************************************************************
** Solidified function: setmember
********************************************************************/
be_local_closure(class_NoiseAnimation_setmember,   /* name */
  be_nested_proto(
    9,                          /* nstack */
    3,                          /* argc */
    10,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    0,                          /* has sup protos */
    NULL,                       /* no sub protos */
    1,                          /* has constants */
    &be_ktab_class_NoiseAnimation,     /* shared constants */
    be_str_weak(setmember),
    &be_const_str_solidified,
    ( &(const binstruction[74]) {  /* code */
      0x1C0C030A,  //  0000  EQ	R3	R1	K10
      0x780E003F,  //  0001  JMPF	R3	#0042
      0x600C0004,  //  0002  GETGBL	R3	G4
      0x5C100400,  //  0003  MOVE	R4	R2
      0x7C0C0200,  //  0004  CALL	R3	1
      0x1C0C0712,  //  0005  EQ	R3	R3	K18
      0x780E003A,  //  0006  JMPF	R3	#0042
      0x600C0015,  //  0007  GETGBL	R3	G21
      0x7C0C0000,  //  0008  CALL	R3	0
      0x8C100713,  //  0009  GETMET	R4	R3	K19
      0x58180006,  //  000A  LDCONST	R6	K6
      0x581C0008,  //  000B  LDCONST	R7	K8
      0x7C100600,  //  000C  CALL	R4	3
      0x8C100713,  //  000D  GETMET	R4	R3	K19
      0x58180006,  //  000E  LDCONST	R6	K6
      0x581C0008,  //  000F  LDCONST	R7	K8
      0x7C100600,  //  0010  CALL	R4	3
      0x8C100713,  //  0011  GETMET	R4	R3	K19
      0x58180006,  //  0012  LDCONST	R6	K6
      0x581C0008,  //  0013  LDCONST	R7	K8
      0x7C100600,  //  0014  CALL	R4	3
      0x8C100713,  //  0015  GETMET	R4	R3	K19
      0x58180006,  //  0016  LDCONST	R6	K6
      0x581C0008,  //  0017  LDCONST	R7	K8
      0x7C100600,  //  0018  CALL	R4	3
      0x8C100713,  //  0019  GETMET	R4	R3	K19
      0x541A00FE,  //  001A  LDINT	R6	255
      0x581C0008,  //  001B  LDCONST	R7	K8
      0x7C100600,  //  001C  CALL	R4	3
      0x8C100713,  //  001D  GETMET	R4	R3	K19
      0x541A000F,  //  001E  LDINT	R6	16
      0x3C180406,  //  001F  SHR	R6	R2	R6
      0x541E00FE,  //  0020  LDINT	R7	255
      0x2C180C07,  //  0021  AND	R6	R6	R7
      0x581C0008,  //  0022  LDCONST	R7	K8
      0x7C100600,  //  0023  CALL	R4	3
      0x8C100713,  //  0024  GETMET	R4	R3	K19
      0x541A0007,  //  0025  LDINT	R6	8
      0x3C180406,  //  0026  SHR	R6	R2	R6
      0x541E00FE,  //  0027  LDINT	R7	255
      0x2C180C07,  //  0028  AND	R6	R6	R7
      0x581C0008,  //  0029  LDCONST	R7	K8
      0x7C100600,  //  002A  CALL	R4	3
      0x8C100713,  //  002B  GETMET	R4	R3	K19
      0x541A00FE,  //  002C  LDINT	R6	255
      0x2C180406,  //  002D  AND	R6	R2	R6
      0x581C0008,  //  002E  LDCONST	R7	K8
      0x7C100600,  //  002F  CALL	R4	3
      0xB8121600,  //  0030  GETNGBL	R4	K11
      0x8C10090C,  //  0031  GETMET	R4	R4	K12
      0x88180101,  //  0032  GETMBR	R6	R0	K1
      0x7C100400,  //  0033  CALL	R4	2
      0x90121A03,  //  0034  SETMBR	R4	K13	R3
      0x54161387,  //  0035  LDINT	R5	5000
      0x90121E05,  //  0036  SETMBR	R4	K15	R5
      0x90122108,  //  0037  SETMBR	R4	K16	K8
      0x541600FE,  //  0038  LDINT	R5	255
      0x90122205,  //  0039  SETMBR	R4	K17	R5
      0x60140003,  //  003A  GETGBL	R5	G3
      0x5C180000,  //  003B  MOVE	R6	R0
      0x7C140200,  //  003C  CALL	R5	1
      0x8C140B14,  //  003D  GETMET	R5	R5	K20
      0x5C1C0200,  //  003E  MOVE	R7	R1
      0x5C200800,  //  003F  MOVE	R8	R4
      0x7C140600,  //  0040  CALL	R5	3
      0x70020006,  //  0041  JMP		#0049
      0x600C0003,  //  0042  GETGBL	R3	G3
      0x5C100000,  //  0043  MOVE	R4	R0
      0x7C0C0200,  //  0044  CALL	R3	1
      0x8C0C0714,  //  0045  GETMET	R3	R3	K20
      0x5C140200,  //  0046  MOVE	R5	R1
      0x5C180400,  //  0047  MOVE	R6	R2
      0x7C0C0600,  //  0048  CALL	R3	3
      0x80000000,  //  0049  RET	0
    })
  )
);
/*******************************************************************/


/********************************************************************
** Solidified function: _init_noise_table
********************************************************************/
be_local_closure(class_NoiseAnimation__init_noise_table,   /* name */
  be_nested_proto(
    6,                          /* nstack */
    1,                          /* argc */
    10,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    0,                          /* has sup protos */
    NULL,                       /* no sub protos */
    1,                          /* has constants */
    &be_ktab_class_NoiseAnimation,     /* shared constants */
    be_str_weak(_init_noise_table),
    &be_const_str_solidified,
    ( &(const binstruction[25]) {  /* code */
      0x60040012,  //  0000  GETGBL	R1	G18
      0x7C040000,  //  0001  CALL	R1	0
      0x90021201,  //  0002  SETMBR	R0	K9	R1
      0x88040109,  //  0003  GETMBR	R1	R0	K9
      0x8C040304,  //  0004  GETMET	R1	R1	K4
      0x540E00FF,  //  0005  LDINT	R3	256
      0x7C040400,  //  0006  CALL	R1	2
      0x88040115,  //  0007  GETMBR	R1	R0	K21
      0x5C080200,  //  0008  MOVE	R2	R1
      0x580C0006,  //  0009  LDCONST	R3	K6
      0x541200FF,  //  000A  LDINT	R4	256
      0x14100604,  //  000B  LT	R4	R3	R4
      0x7812000A,  //  000C  JMPF	R4	#0018
      0x08100516,  //  000D  MUL	R4	R2	K22
      0x54163038,  //  000E  LDINT	R5	12345
      0x00100805,  //  000F  ADD	R4	R4	R5
      0x2C100917,  //  0010  AND	R4	R4	K23
      0x5C080800,  //  0011  MOVE	R2	R4
      0x88100109,  //  0012  GETMBR	R4	R0	K9
      0x541600FF,  //  0013  LDINT	R5	256
      0x10140405,  //  0014  MOD	R5	R2	R5
      0x98100605,  //  0015  SETIDX	R4	R3	R5
      0x000C0708,  //  0016  ADD	R3	R3	K8
      0x7001FFF1,  //  0017  JMP		#000A
      0x80000000,  //  0018  RET	0
    })
  )
);
/*******************************************************************/


/********************************************************************
** Solidified function: update
********************************************************************/
be_local_closure(class_NoiseAnimation_update,   /* name */
  be_nested_proto(
    11,                          /* nstack */
    2,                          /* argc */
    10,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    0,                          /* has sup protos */
    NULL,                       /* no sub protos */
    1,                          /* has constants */
    &be_ktab_class_NoiseAnimation,     /* shared constants */
    be_str_weak(update),
    &be_const_str_solidified,
    ( &(const binstruction[31]) {  /* code */
      0x60080003,  //  0000  GETGBL	R2	G3
      0x5C0C0000,  //  0001  MOVE	R3	R0
      0x7C080200,  //  0002  CALL	R2	1
      0x8C080518,  //  0003  GETMET	R2	R2	K24
      0x5C100200,  //  0004  MOVE	R4	R1
      0x7C080400,  //  0005  CALL	R2	2
      0x88080119,  //  0006  GETMBR	R2	R0	K25
      0x240C0506,  //  0007  GT	R3	R2	K6
      0x780E0011,  //  0008  JMPF	R3	#001B
      0x880C011A,  //  0009  GETMBR	R3	R0	K26
      0x040C0203,  //  000A  SUB	R3	R1	R3
      0xB8123600,  //  000B  GETNGBL	R4	K27
      0x8C10091C,  //  000C  GETMET	R4	R4	K28
      0x5C180400,  //  000D  MOVE	R6	R2
      0x581C0006,  //  000E  LDCONST	R7	K6
      0x542200FE,  //  000F  LDINT	R8	255
      0x58240006,  //  0010  LDCONST	R9	K6
      0x542A0004,  //  0011  LDINT	R10	5
      0x7C100C00,  //  0012  CALL	R4	6
      0x24140906,  //  0013  GT	R5	R4	K6
      0x78160005,  //  0014  JMPF	R5	#001B
      0x08140604,  //  0015  MUL	R5	R3	R4
      0x541A03E7,  //  0016  LDINT	R6	1000
      0x0C140A06,  //  0017  DIV	R5	R5	R6
      0x541A00FF,  //  0018  LDINT	R6	256
      0x10140A06,  //  0019  MOD	R5	R5	R6
      0x90020A05,  //  001A  SETMBR	R0	K5	R5
      0x8C0C011D,  //  001B  GETMET	R3	R0	K29
      0x5C140200,  //  001C  MOVE	R5	R1
      0x7C0C0400,  //  001D  CALL	R3	2
      0x80000000,  //  001E  RET	0
    })
  )
);
/*******************************************************************/


/********************************************************************
** Solidified function: _calculate_noise
********************************************************************/
be_local_closure(class_NoiseAnimation__calculate_noise,   /* name */
  be_nested_proto(
    12,                          /* nstack */
    2,                          /* argc */
    10,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    0,                          /* has sup protos */
    NULL,                       /* no sub protos */
    1,                          /* has constants */
    &be_ktab_class_NoiseAnimation,     /* shared constants */
    be_str_weak(_calculate_noise),
    &be_const_str_solidified,
    ( &(const binstruction[39]) {  /* code */
      0x88080101,  //  0000  GETMBR	R2	R0	K1
      0x88080502,  //  0001  GETMBR	R2	R2	K2
      0x880C010A,  //  0002  GETMBR	R3	R0	K10
      0x58100006,  //  0003  LDCONST	R4	K6
      0x14140802,  //  0004  LT	R5	R4	R2
      0x7816001F,  //  0005  JMPF	R5	#0026
      0x8C14011E,  //  0006  GETMET	R5	R0	K30
      0x5C1C0800,  //  0007  MOVE	R7	R4
      0x88200105,  //  0008  GETMBR	R8	R0	K5
      0x7C140600,  //  0009  CALL	R5	3
      0x58180007,  //  000A  LDCONST	R6	K7
      0xB81E1600,  //  000B  GETNGBL	R7	K11
      0x8C1C0F1F,  //  000C  GETMET	R7	R7	K31
      0x5C240600,  //  000D  MOVE	R9	R3
      0x7C1C0400,  //  000E  CALL	R7	2
      0x781E0009,  //  000F  JMPF	R7	#001A
      0x881C0720,  //  0010  GETMBR	R7	R3	K32
      0x4C200000,  //  0011  LDNIL	R8
      0x201C0E08,  //  0012  NE	R7	R7	R8
      0x781E0005,  //  0013  JMPF	R7	#001A
      0x8C1C0720,  //  0014  GETMET	R7	R3	K32
      0x5C240A00,  //  0015  MOVE	R9	R5
      0x58280006,  //  0016  LDCONST	R10	K6
      0x7C1C0600,  //  0017  CALL	R7	3
      0x5C180E00,  //  0018  MOVE	R6	R7
      0x70020007,  //  0019  JMP		#0022
      0x8C1C0121,  //  001A  GETMET	R7	R0	K33
      0x5C240600,  //  001B  MOVE	R9	R3
      0x5828000A,  //  001C  LDCONST	R10	K10
      0x542E0009,  //  001D  LDINT	R11	10
      0x082C0A0B,  //  001E  MUL	R11	R5	R11
      0x002C020B,  //  001F  ADD	R11	R1	R11
      0x7C1C0800,  //  0020  CALL	R7	4
      0x5C180E00,  //  0021  MOVE	R6	R7
      0x881C0103,  //  0022  GETMBR	R7	R0	K3
      0x981C0806,  //  0023  SETIDX	R7	R4	R6
      0x00100908,  //  0024  ADD	R4	R4	K8
      0x7001FFDD,  //  0025  JMP		#0004
      0x80000000,  //  0026  RET	0
    })
  )
);
/*******************************************************************/


/********************************************************************
** Solidified function: on_param_changed
********************************************************************/
be_local_closure(class_NoiseAnimation_on_param_changed,   /* name */
  be_nested_proto(
    7,                          /* nstack */
    3,                          /* argc */
    10,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    0,                          /* has sup protos */
    NULL,                       /* no sub protos */
    1,                          /* has constants */
    &be_ktab_class_NoiseAnimation,     /* shared constants */
    be_str_weak(on_param_changed),
    &be_const_str_solidified,
    ( &(const binstruction[32]) {  /* code */
      0x600C0003,  //  0000  GETGBL	R3	G3
      0x5C100000,  //  0001  MOVE	R4	R0
      0x7C0C0200,  //  0002  CALL	R3	1
      0x8C0C0722,  //  0003  GETMET	R3	R3	K34
      0x5C140200,  //  0004  MOVE	R5	R1
      0x5C180400,  //  0005  MOVE	R6	R2
      0x7C0C0600,  //  0006  CALL	R3	3
      0x1C0C0315,  //  0007  EQ	R3	R1	K21
      0x780E0001,  //  0008  JMPF	R3	#000B
      0x8C0C0123,  //  0009  GETMET	R3	R0	K35
      0x7C0C0200,  //  000A  CALL	R3	1
      0x880C0101,  //  000B  GETMBR	R3	R0	K1
      0x880C0702,  //  000C  GETMBR	R3	R3	K2
      0x6010000C,  //  000D  GETGBL	R4	G12
      0x88140103,  //  000E  GETMBR	R5	R0	K3
      0x7C100200,  //  000F  CALL	R4	1
      0x20100803,  //  0010  NE	R4	R4	R3
      0x7812000C,  //  0011  JMPF	R4	#001F
      0x88100103,  //  0012  GETMBR	R4	R0	K3
      0x8C100904,  //  0013  GETMET	R4	R4	K4
      0x5C180600,  //  0014  MOVE	R6	R3
      0x7C100400,  //  0015  CALL	R4	2
      0x6010000C,  //  0016  GETGBL	R4	G12
      0x88140103,  //  0017  GETMBR	R5	R0	K3
      0x7C100200,  //  0018  CALL	R4	1
      0x14140803,  //  0019  LT	R5	R4	R3
      0x78160003,  //  001A  JMPF	R5	#001F
      0x88140103,  //  001B  GETMBR	R5	R0	K3
      0x98140907,  //  001C  SETIDX	R5	R4	K7
      0x00100908,  //  001D  ADD	R4	R4	K8
      0x7001FFF9,  //  001E  JMP		#0019
      0x80000000,  //  001F  RET	0
    })
  )
);
/*******************************************************************/


/********************************************************************
** Solidified function: render
********************************************************************/
be_local_closure(class_NoiseAnimation_render,   /* name */
  be_nested_proto(
    9,                          /* nstack */
    4,                          /* argc */
    10,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    0,                          /* has sup protos */
    NULL,                       /* no sub protos */
    1,                          /* has constants */
    &be_ktab_class_NoiseAnimation,     /* shared constants */
    be_str_weak(render),
    &be_const_str_solidified,
    ( &(const binstruction[15]) {  /* code */
      0x58100006,  //  0000  LDCONST	R4	K6
      0x14140803,  //  0001  LT	R5	R4	R3
      0x78160009,  //  0002  JMPF	R5	#000D
      0x88140324,  //  0003  GETMBR	R5	R1	K36
      0x14140805,  //  0004  LT	R5	R4	R5
      0x78160004,  //  0005  JMPF	R5	#000B
      0x8C140325,  //  0006  GETMET	R5	R1	K37
      0x5C1C0800,  //  0007  MOVE	R7	R4
      0x88200103,  //  0008  GETMBR	R8	R0	K3
      0x94201004,  //  0009  GETIDX	R8	R8	R4
      0x7C140600,  //  000A  CALL	R5	3
      0x00100908,  //  000B  ADD	R4	R4	K8
      0x7001FFF3,  //  000C  JMP		#0001
      0x50140200,  //  000D  LDBOOL	R5	1	0
      0x80040A00,  //  000E  RET	1	R5
    })
  )
);
/*******************************************************************/


/********************************************************************
** Solidified function: tostring
********************************************************************/
be_local_closure(class_NoiseAnimation_tostring,   /* name */
  be_nested_proto(
    11,                          /* nstack */
    1,                          /* argc */
    10,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    0,                          /* has sup protos */
    NULL,                       /* no sub protos */
    1,                          /* has constants */
    &be_ktab_class_NoiseAnimation,     /* shared constants */
    be_str_weak(tostring),
    &be_const_str_solidified,
    ( &(const binstruction[27]) {  /* code */
      0x8804010A,  //  0000  GETMBR	R1	R0	K10
      0x4C080000,  //  0001  LDNIL	R2
      0xB80E1600,  //  0002  GETNGBL	R3	K11
      0x8C0C0726,  //  0003  GETMET	R3	R3	K38
      0x5C140200,  //  0004  MOVE	R5	R1
      0x7C0C0400,  //  0005  CALL	R3	2
      0x780E0004,  //  0006  JMPF	R3	#000C
      0x600C0008,  //  0007  GETGBL	R3	G8
      0x5C100200,  //  0008  MOVE	R4	R1
      0x7C0C0200,  //  0009  CALL	R3	1
      0x5C080600,  //  000A  MOVE	R2	R3
      0x70020004,  //  000B  JMP		#0011
      0x600C0018,  //  000C  GETGBL	R3	G24
      0x58100027,  //  000D  LDCONST	R4	K39
      0x5C140200,  //  000E  MOVE	R5	R1
      0x7C0C0400,  //  000F  CALL	R3	2
      0x5C080600,  //  0010  MOVE	R2	R3
      0x600C0018,  //  0011  GETGBL	R3	G24
      0x58100028,  //  0012  LDCONST	R4	K40
      0x5C140400,  //  0013  MOVE	R5	R2
      0x88180129,  //  0014  GETMBR	R6	R0	K41
      0x881C0119,  //  0015  GETMBR	R7	R0	K25
      0x8820012A,  //  0016  GETMBR	R8	R0	K42
      0x8824012B,  //  0017  GETMBR	R9	R0	K43
      0x8828012C,  //  0018  GETMBR	R10	R0	K44
      0x7C0C0E00,  //  0019  CALL	R3	7
      0x80040600,  //  001A  RET	1	R3
    })
  )
);
/*******************************************************************/


/********************************************************************
** Solidified function: start
********************************************************************/
be_local_closure(class_NoiseAnimation_start,   /* name */
  be_nested_proto(
    5,                          /* nstack */
    2,                          /* argc */
    10,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    0,                          /* has sup protos */
    NULL,                       /* no sub protos */
    1,                          /* has constants */
    &be_ktab_class_NoiseAnimation,     /* shared constants */
    be_str_weak(start),
    &be_const_str_solidified,
    ( &(const binstruction[10]) {  /* code */
      0x60080003,  //  0000  GETGBL	R2	G3
      0x5C0C0000,  //  0001  MOVE	R3	R0
      0x7C080200,  //  0002  CALL	R2	1
      0x8C08052D,  //  0003  GETMET	R2	R2	K45
      0x5C100200,  //  0004  MOVE	R4	R1
      0x7C080400,  //  0005  CALL	R2	2
      0x8C080123,  //  0006  GETMET	R2	R0	K35
      0x7C080200,  //  0007  CALL	R2	1
      0x90020B06,  //  0008  SETMBR	R0	K5	K6
      0x80040000,  //  0009  RET	1	R0
    })
  )
);
/*******************************************************************/


/********************************************************************
** Solidified function: _noise_1d
********************************************************************/
be_local_closure(class_NoiseAnimation__noise_1d,   /* name */
  be_nested_proto(
    14,                          /* nstack */
    2,                          /* argc */
    10,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    0,                          /* has sup protos */
    NULL,                       /* no sub protos */
    1,                          /* has constants */
    &be_ktab_class_NoiseAnimation,     /* shared constants */
    be_str_weak(_noise_1d),
    &be_const_str_solidified,
    ( &(const binstruction[36]) {  /* code */
      0x60080009,  //  0000  GETGBL	R2	G9
      0x5C0C0200,  //  0001  MOVE	R3	R1
      0x7C080200,  //  0002  CALL	R2	1
      0x540E00FE,  //  0003  LDINT	R3	255
      0x2C080403,  //  0004  AND	R2	R2	R3
      0x600C0009,  //  0005  GETGBL	R3	G9
      0x5C100200,  //  0006  MOVE	R4	R1
      0x7C0C0200,  //  0007  CALL	R3	1
      0x040C0203,  //  0008  SUB	R3	R1	R3
      0x88100109,  //  0009  GETMBR	R4	R0	K9
      0x94100802,  //  000A  GETIDX	R4	R4	R2
      0x00140508,  //  000B  ADD	R5	R2	K8
      0x541A00FE,  //  000C  LDINT	R6	255
      0x2C140A06,  //  000D  AND	R5	R5	R6
      0x88180109,  //  000E  GETMBR	R6	R0	K9
      0x94140C05,  //  000F  GETIDX	R5	R6	R5
      0xB81A3600,  //  0010  GETNGBL	R6	K27
      0x8C180D1C,  //  0011  GETMET	R6	R6	K28
      0x60200009,  //  0012  GETGBL	R8	G9
      0x542600FF,  //  0013  LDINT	R9	256
      0x08240609,  //  0014  MUL	R9	R3	R9
      0x7C200200,  //  0015  CALL	R8	1
      0x58240006,  //  0016  LDCONST	R9	K6
      0x542A00FF,  //  0017  LDINT	R10	256
      0x582C0006,  //  0018  LDCONST	R11	K6
      0x543200FE,  //  0019  LDINT	R12	255
      0x7C180C00,  //  001A  CALL	R6	6
      0xB81E3600,  //  001B  GETNGBL	R7	K27
      0x8C1C0F1C,  //  001C  GETMET	R7	R7	K28
      0x5C240C00,  //  001D  MOVE	R9	R6
      0x58280006,  //  001E  LDCONST	R10	K6
      0x542E00FE,  //  001F  LDINT	R11	255
      0x5C300800,  //  0020  MOVE	R12	R4
      0x5C340A00,  //  0021  MOVE	R13	R5
      0x7C1C0C00,  //  0022  CALL	R7	6
      0x80040E00,  //  0023  RET	1	R7
    })
  )
);
/*******************************************************************/


/********************************************************************
** Solidified function: _fractal_noise
********************************************************************/
be_local_closure(class_NoiseAnimation__fractal_noise,   /* name */
  be_nested_proto(
    20,                          /* nstack */
    3,                          /* argc */
    10,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    0,                          /* has sup protos */
    NULL,                       /* no sub protos */
    1,                          /* has constants */
    &be_ktab_class_NoiseAnimation,     /* shared constants */
    be_str_weak(_fractal_noise),
    &be_const_str_solidified,
    ( &(const binstruction[62]) {  /* code */
      0x580C0006,  //  0000  LDCONST	R3	K6
      0x541200FE,  //  0001  LDINT	R4	255
      0x88140129,  //  0002  GETMBR	R5	R0	K41
      0x8818012A,  //  0003  GETMBR	R6	R0	K42
      0x881C012E,  //  0004  GETMBR	R7	R0	K46
      0x5C200A00,  //  0005  MOVE	R8	R5
      0x58240006,  //  0006  LDCONST	R9	K6
      0x58280006,  //  0007  LDCONST	R10	K6
      0x142C1406,  //  0008  LT	R11	R10	R6
      0x782E0027,  //  0009  JMPF	R11	#0032
      0xB82E3600,  //  000A  GETNGBL	R11	K27
      0x8C2C171C,  //  000B  GETMET	R11	R11	K28
      0x08340208,  //  000C  MUL	R13	R1	R8
      0x58380006,  //  000D  LDCONST	R14	K6
      0x543E00FE,  //  000E  LDINT	R15	255
      0x544200FE,  //  000F  LDINT	R16	255
      0x083C1E10,  //  0010  MUL	R15	R15	R16
      0x58400006,  //  0011  LDCONST	R16	K6
      0x544600FE,  //  0012  LDINT	R17	255
      0x7C2C0C00,  //  0013  CALL	R11	6
      0x002C1602,  //  0014  ADD	R11	R11	R2
      0x8C30012F,  //  0015  GETMET	R12	R0	K47
      0x5C381600,  //  0016  MOVE	R14	R11
      0x7C300400,  //  0017  CALL	R12	2
      0xB8363600,  //  0018  GETNGBL	R13	K27
      0x8C341B1C,  //  0019  GETMET	R13	R13	K28
      0x5C3C1800,  //  001A  MOVE	R15	R12
      0x58400006,  //  001B  LDCONST	R16	K6
      0x544600FE,  //  001C  LDINT	R17	255
      0x58480006,  //  001D  LDCONST	R18	K6
      0x5C4C0800,  //  001E  MOVE	R19	R4
      0x7C340C00,  //  001F  CALL	R13	6
      0x000C060D,  //  0020  ADD	R3	R3	R13
      0x00241204,  //  0021  ADD	R9	R9	R4
      0xB8363600,  //  0022  GETNGBL	R13	K27
      0x8C341B1C,  //  0023  GETMET	R13	R13	K28
      0x5C3C0800,  //  0024  MOVE	R15	R4
      0x58400006,  //  0025  LDCONST	R16	K6
      0x544600FE,  //  0026  LDINT	R17	255
      0x58480006,  //  0027  LDCONST	R18	K6
      0x5C4C0E00,  //  0028  MOVE	R19	R7
      0x7C340C00,  //  0029  CALL	R13	6
      0x5C101A00,  //  002A  MOVE	R4	R13
      0x08201130,  //  002B  MUL	R8	R8	K48
      0x543600FE,  //  002C  LDINT	R13	255
      0x2434100D,  //  002D  GT	R13	R8	R13
      0x78360000,  //  002E  JMPF	R13	#0030
      0x542200FE,  //  002F  LDINT	R8	255
      0x00281508,  //  0030  ADD	R10	R10	K8
      0x7001FFD5,  //  0031  JMP		#0008
      0x242C1306,  //  0032  GT	R11	R9	K6
      0x782E0008,  //  0033  JMPF	R11	#003D
      0xB82E3600,  //  0034  GETNGBL	R11	K27
      0x8C2C171C,  //  0035  GETMET	R11	R11	K28
      0x5C340600,  //  0036  MOVE	R13	R3
      0x58380006,  //  0037  LDCONST	R14	K6
      0x5C3C1200,  //  0038  MOVE	R15	R9
      0x58400006,  //  0039  LDCONST	R16	K6
      0x544600FE,  //  003A  LDINT	R17	255
      0x7C2C0C00,  //  003B  CALL	R11	6
      0x5C0C1600,  //  003C  MOVE	R3	R11
      0x80040600,  //  003D  RET	1	R3
    })
  )
);
/*******************************************************************/


/********************************************************************
** Solidified class: NoiseAnimation
********************************************************************/
extern const bclass be_class_Animation;
be_local_class(NoiseAnimation,
    3,
    &be_class_Animation,
    be_nested_map(15,
    ( (struct bmapnode*) &(const bmapnode[]) {
        { be_const_key_weak(init, -1), be_const_closure(class_NoiseAnimation_init_closure) },
        { be_const_key_weak(setmember, -1), be_const_closure(class_NoiseAnimation_setmember_closure) },
        { be_const_key_weak(_init_noise_table, -1), be_const_closure(class_NoiseAnimation__init_noise_table_closure) },
        { be_const_key_weak(PARAMS, 12), be_const_simple_instance(be_nested_simple_instance(&be_class_map, {
        be_const_map( *     be_nested_map(6,
    ( (struct bmapnode*) &(const bmapnode[]) {
        { be_const_key_weak(octaves, -1), be_const_bytes_instance(07000100040001) },
        { be_const_key_weak(seed, 0), be_const_bytes_instance(07000002FFFF0000013930) },
        { be_const_key_weak(speed, 3), be_const_bytes_instance(07000001FF00001E) },
        { be_const_key_weak(persistence, 1), be_const_bytes_instance(07000001FF00018000) },
        { be_const_key_weak(color, -1), be_const_bytes_instance(0406) },
        { be_const_key_weak(scale, -1), be_const_bytes_instance(07000101FF000032) },
    }))    ) } )) },
        { be_const_key_weak(update, 6), be_const_closure(class_NoiseAnimation_update_closure) },
        { be_const_key_weak(time_offset, -1), be_const_var(1) },
        { be_const_key_weak(_calculate_noise, -1), be_const_closure(class_NoiseAnimation__calculate_noise_closure) },
        { be_const_key_weak(on_param_changed, 13), be_const_closure(class_NoiseAnimation_on_param_changed_closure) },
        { be_const_key_weak(_noise_1d, -1), be_const_closure(class_NoiseAnimation__noise_1d_closure) },
        { be_const_key_weak(noise_table, -1), be_const_var(2) },
        { be_const_key_weak(tostring, 8), be_const_closure(class_NoiseAnimation_tostring_closure) },
        { be_const_key_weak(start, -1), be_const_closure(class_NoiseAnimation_start_closure) },
        { be_const_key_weak(current_colors, -1), be_const_var(0) },
        { be_const_key_weak(render, -1), be_const_closure(class_NoiseAnimation_render_closure) },
        { be_const_key_weak(_fractal_noise, -1), be_const_closure(class_NoiseAnimation__fractal_noise_closure) },
    })),
    be_str_weak(NoiseAnimation)
);

/********************************************************************
** Solidified function: get_user_function
********************************************************************/
be_local_closure(get_user_function,   /* name */
  be_nested_proto(
    4,                          /* nstack */
    1,                          /* argc */
    0,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    0,                          /* has sup protos */
    NULL,                       /* no sub protos */
    1,                          /* has constants */
    ( &(const bvalue[ 3]) {     /* constants */
    /* K0   */  be_nested_str_weak(animation),
    /* K1   */  be_nested_str_weak(_user_functions),
    /* K2   */  be_nested_str_weak(find),
    }),
    be_str_weak(get_user_function),
    &be_const_str_solidified,
    ( &(const binstruction[ 6]) {  /* code */
      0xB8060000,  //  0000  GETNGBL	R1	K0
      0x88040301,  //  0001  GETMBR	R1	R1	K1
      0x8C040302,  //  0002  GETMET	R1	R1	K2
      0x5C0C0000,  //  0003  MOVE	R3	R0
      0x7C040400,  //  0004  CALL	R1	2
      0x80040200,  //  0005  RET	1	R1
    })
  )
);
/*******************************************************************/


/********************************************************************
** Solidified function: encode_constraints
********************************************************************/
be_local_closure(encode_constraints,   /* name */
  be_nested_proto(
    7,                          /* nstack */
    1,                          /* argc */
    0,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    1,                          /* has sup protos */
    ( &(const struct bproto*[ 1]) {
      be_nested_proto(
        13,                          /* nstack */
        1,                          /* argc */
        0,                          /* varg */
        0,                          /* has upvals */
        NULL,                       /* no upvals */
        1,                          /* has sup protos */
        ( &(const struct bproto*[ 3]) {
          be_nested_proto(
            5,                          /* nstack */
            1,                          /* argc */
            0,                          /* varg */
            0,                          /* has upvals */
            NULL,                       /* no upvals */
            0,                          /* has sup protos */
            NULL,                       /* no sub protos */
            1,                          /* has constants */
            ( &(const bvalue[ 8]) {     /* constants */
            /* K0   */  be_nested_str_weak(bool),
            /* K1   */  be_nested_str_weak(string),
            /* K2   */  be_const_int(3),
            /* K3   */  be_nested_str_weak(instance),
            /* K4   */  be_nested_str_weak(int),
            /* K5   */  be_const_int(0),
            /* K6   */  be_const_int(1),
            /* K7   */  be_const_int(2),
            }),
            be_str_weak(get_type_code),
            &be_const_str_solidified,
            ( &(const binstruction[50]) {  /* code */
              0x60040004,  //  0000  GETGBL	R1	G4
              0x5C080000,  //  0001  MOVE	R2	R0
              0x7C040200,  //  0002  CALL	R1	1
              0x4C080000,  //  0003  LDNIL	R2
              0x1C080002,  //  0004  EQ	R2	R0	R2
              0x780A0002,  //  0005  JMPF	R2	#0009
              0x540A0005,  //  0006  LDINT	R2	6
              0x80040400,  //  0007  RET	1	R2
              0x70020027,  //  0008  JMP		#0031
              0x1C080300,  //  0009  EQ	R2	R1	K0
              0x780A0002,  //  000A  JMPF	R2	#000E
              0x540A0004,  //  000B  LDINT	R2	5
              0x80040400,  //  000C  RET	1	R2
              0x70020022,  //  000D  JMP		#0031
              0x1C080301,  //  000E  EQ	R2	R1	K1
              0x780A0001,  //  000F  JMPF	R2	#0012
              0x80060400,  //  0010  RET	1	K2
              0x7002001E,  //  0011  JMP		#0031
              0x1C080303,  //  0012  EQ	R2	R1	K3
              0x780A0007,  //  0013  JMPF	R2	#001C
              0x6008000F,  //  0014  GETGBL	R2	G15
              0x5C0C0000,  //  0015  MOVE	R3	R0
              0x60100015,  //  0016  GETGBL	R4	G21
              0x7C080400,  //  0017  CALL	R2	2
              0x780A0002,  //  0018  JMPF	R2	#001C
              0x540A0003,  //  0019  LDINT	R2	4
              0x80040400,  //  001A  RET	1	R2
              0x70020014,  //  001B  JMP		#0031
              0x1C080304,  //  001C  EQ	R2	R1	K4
              0x780A0011,  //  001D  JMPF	R2	#0030
              0x5409FF7F,  //  001E  LDINT	R2	-128
              0x28080002,  //  001F  GE	R2	R0	R2
              0x780A0004,  //  0020  JMPF	R2	#0026
              0x540A007E,  //  0021  LDINT	R2	127
              0x18080002,  //  0022  LE	R2	R0	R2
              0x780A0001,  //  0023  JMPF	R2	#0026
              0x80060A00,  //  0024  RET	1	K5
              0x70020008,  //  0025  JMP		#002F
              0x54097FFF,  //  0026  LDINT	R2	-32768
              0x28080002,  //  0027  GE	R2	R0	R2
              0x780A0004,  //  0028  JMPF	R2	#002E
              0x540A7FFE,  //  0029  LDINT	R2	32767
              0x18080002,  //  002A  LE	R2	R0	R2
              0x780A0001,  //  002B  JMPF	R2	#002E
              0x80060C00,  //  002C  RET	1	K6
              0x70020000,  //  002D  JMP		#002F
              0x80060E00,  //  002E  RET	1	K7
              0x70020000,  //  002F  JMP		#0031
              0x80060E00,  //  0030  RET	1	K7
              0x80000000,  //  0031  RET	0
            })
          ),
          be_nested_proto(
            8,                          /* nstack */
            2,                          /* argc */
            0,                          /* varg */
            1,                          /* has upvals */
            ( &(const bupvaldesc[ 1]) {  /* upvals */
              be_local_const_upval(1, 1),
            }),
            0,                          /* has sup protos */
            NULL,                       /* no sub protos */
            1,                          /* has constants */
            ( &(const bvalue[ 6]) {     /* constants */
            /* K0   */  be_nested_str_weak(add),
            /* K1   */  be_const_int(1),
            /* K2   */  be_const_int(0),
            /* K3   */  be_const_int(2),
            /* K4   */  be_const_int(3),
            /* K5   */  be_nested_str_weak(fromstring),
            }),
            be_str_weak(encode_value_with_type),
            &be_const_str_solidified,
            ( &(const binstruction[72]) {  /* code */
              0x68080000,  //  0000  GETUPV	R2	U0
              0x5C0C0000,  //  0001  MOVE	R3	R0
              0x7C080200,  //  0002  CALL	R2	1
              0x8C0C0300,  //  0003  GETMET	R3	R1	K0
              0x5C140400,  //  0004  MOVE	R5	R2
              0x58180001,  //  0005  LDCONST	R6	K1
              0x7C0C0600,  //  0006  CALL	R3	3
              0x540E0005,  //  0007  LDINT	R3	6
              0x1C0C0403,  //  0008  EQ	R3	R2	R3
              0x780E0001,  //  0009  JMPF	R3	#000C
              0x80000600,  //  000A  RET	0
              0x7002003A,  //  000B  JMP		#0047
              0x540E0004,  //  000C  LDINT	R3	5
              0x1C0C0403,  //  000D  EQ	R3	R2	R3
              0x780E0007,  //  000E  JMPF	R3	#0017
              0x8C0C0300,  //  000F  GETMET	R3	R1	K0
              0x78020001,  //  0010  JMPF	R0	#0013
              0x58140001,  //  0011  LDCONST	R5	K1
              0x70020000,  //  0012  JMP		#0014
              0x58140002,  //  0013  LDCONST	R5	K2
              0x58180001,  //  0014  LDCONST	R6	K1
              0x7C0C0600,  //  0015  CALL	R3	3
              0x7002002F,  //  0016  JMP		#0047
              0x1C0C0502,  //  0017  EQ	R3	R2	K2
              0x780E0005,  //  0018  JMPF	R3	#001F
              0x8C0C0300,  //  0019  GETMET	R3	R1	K0
              0x541600FE,  //  001A  LDINT	R5	255
              0x2C140005,  //  001B  AND	R5	R0	R5
              0x58180001,  //  001C  LDCONST	R6	K1
              0x7C0C0600,  //  001D  CALL	R3	3
              0x70020027,  //  001E  JMP		#0047
              0x1C0C0501,  //  001F  EQ	R3	R2	K1
              0x780E0005,  //  0020  JMPF	R3	#0027
              0x8C0C0300,  //  0021  GETMET	R3	R1	K0
              0x5416FFFE,  //  0022  LDINT	R5	65535
              0x2C140005,  //  0023  AND	R5	R0	R5
              0x58180003,  //  0024  LDCONST	R6	K3
              0x7C0C0600,  //  0025  CALL	R3	3
              0x7002001F,  //  0026  JMP		#0047
              0x1C0C0503,  //  0027  EQ	R3	R2	K3
              0x780E0004,  //  0028  JMPF	R3	#002E
              0x8C0C0300,  //  0029  GETMET	R3	R1	K0
              0x5C140000,  //  002A  MOVE	R5	R0
              0x541A0003,  //  002B  LDINT	R6	4
              0x7C0C0600,  //  002C  CALL	R3	3
              0x70020018,  //  002D  JMP		#0047
              0x1C0C0504,  //  002E  EQ	R3	R2	K4
              0x780E000C,  //  002F  JMPF	R3	#003D
              0x600C0015,  //  0030  GETGBL	R3	G21
              0x7C0C0000,  //  0031  CALL	R3	0
              0x8C0C0705,  //  0032  GETMET	R3	R3	K5
              0x5C140000,  //  0033  MOVE	R5	R0
              0x7C0C0400,  //  0034  CALL	R3	2
              0x8C100300,  //  0035  GETMET	R4	R1	K0
              0x6018000C,  //  0036  GETGBL	R6	G12
              0x5C1C0600,  //  0037  MOVE	R7	R3
              0x7C180200,  //  0038  CALL	R6	1
              0x581C0001,  //  0039  LDCONST	R7	K1
              0x7C100600,  //  003A  CALL	R4	3
              0x40100203,  //  003B  CONNECT	R4	R1	R3
              0x70020009,  //  003C  JMP		#0047
              0x540E0003,  //  003D  LDINT	R3	4
              0x1C0C0403,  //  003E  EQ	R3	R2	R3
              0x780E0006,  //  003F  JMPF	R3	#0047
              0x8C0C0300,  //  0040  GETMET	R3	R1	K0
              0x6014000C,  //  0041  GETGBL	R5	G12
              0x5C180000,  //  0042  MOVE	R6	R0
              0x7C140200,  //  0043  CALL	R5	1
              0x58180003,  //  0044  LDCONST	R6	K3
              0x7C0C0600,  //  0045  CALL	R3	3
              0x400C0200,  //  0046  CONNECT	R3	R1	R0
              0x80000000,  //  0047  RET	0
            })
          ),
          be_nested_proto(
            2,                          /* nstack */
            1,                          /* argc */
            0,                          /* varg */
            0,                          /* has upvals */
            NULL,                       /* no upvals */
            0,                          /* has sup protos */
            NULL,                       /* no sub protos */
            1,                          /* has constants */
            ( &(const bvalue[11]) {     /* constants */
            /* K0   */  be_nested_str_weak(int),
            /* K1   */  be_const_int(0),
            /* K2   */  be_nested_str_weak(string),
            /* K3   */  be_const_int(1),
            /* K4   */  be_nested_str_weak(bytes),
            /* K5   */  be_const_int(2),
            /* K6   */  be_nested_str_weak(bool),
            /* K7   */  be_const_int(3),
            /* K8   */  be_nested_str_weak(any),
            /* K9   */  be_nested_str_weak(instance),
            /* K10  */  be_nested_str_weak(function),
            }),
            be_str_weak(get_explicit_type_code),
            &be_const_str_solidified,
            ( &(const binstruction[32]) {  /* code */
              0x1C040100,  //  0000  EQ	R1	R0	K0
              0x78060001,  //  0001  JMPF	R1	#0004
              0x80060200,  //  0002  RET	1	K1
              0x70020019,  //  0003  JMP		#001E
              0x1C040102,  //  0004  EQ	R1	R0	K2
              0x78060001,  //  0005  JMPF	R1	#0008
              0x80060600,  //  0006  RET	1	K3
              0x70020015,  //  0007  JMP		#001E
              0x1C040104,  //  0008  EQ	R1	R0	K4
              0x78060001,  //  0009  JMPF	R1	#000C
              0x80060A00,  //  000A  RET	1	K5
              0x70020011,  //  000B  JMP		#001E
              0x1C040106,  //  000C  EQ	R1	R0	K6
              0x78060001,  //  000D  JMPF	R1	#0010
              0x80060E00,  //  000E  RET	1	K7
              0x7002000D,  //  000F  JMP		#001E
              0x1C040108,  //  0010  EQ	R1	R0	K8
              0x78060002,  //  0011  JMPF	R1	#0015
              0x54060003,  //  0012  LDINT	R1	4
              0x80040200,  //  0013  RET	1	R1
              0x70020008,  //  0014  JMP		#001E
              0x1C040109,  //  0015  EQ	R1	R0	K9
              0x78060002,  //  0016  JMPF	R1	#001A
              0x54060004,  //  0017  LDINT	R1	5
              0x80040200,  //  0018  RET	1	R1
              0x70020003,  //  0019  JMP		#001E
              0x1C04010A,  //  001A  EQ	R1	R0	K10
              0x78060001,  //  001B  JMPF	R1	#001E
              0x54060005,  //  001C  LDINT	R1	6
              0x80040200,  //  001D  RET	1	R1
              0x54060003,  //  001E  LDINT	R1	4
              0x80040200,  //  001F  RET	1	R1
            })
          ),
        }),
        1,                          /* has constants */
        ( &(const bvalue[14]) {     /* constants */
        /* K0   */  be_const_int(0),
        /* K1   */  be_nested_str_weak(resize),
        /* K2   */  be_const_int(1),
        /* K3   */  be_nested_str_weak(contains),
        /* K4   */  be_nested_str_weak(type),
        /* K5   */  be_nested_str_weak(min),
        /* K6   */  be_nested_str_weak(max),
        /* K7   */  be_const_int(2),
        /* K8   */  be_nested_str_weak(default),
        /* K9   */  be_nested_str_weak(add),
        /* K10  */  be_nested_str_weak(enum),
        /* K11  */  be_nested_str_weak(stop_iteration),
        /* K12  */  be_nested_str_weak(nillable),
        /* K13  */  be_nested_str_weak(set),
        }),
        be_str_weak(encode_single_constraint),
        &be_const_str_solidified,
        ( &(const binstruction[97]) {  /* code */
          0x84040000,  //  0000  CLOSURE	R1	P0
          0x84080001,  //  0001  CLOSURE	R2	P1
          0x580C0000,  //  0002  LDCONST	R3	K0
          0x60100015,  //  0003  GETGBL	R4	G21
          0x7C100000,  //  0004  CALL	R4	0
          0x8C140901,  //  0005  GETMET	R5	R4	K1
          0x581C0002,  //  0006  LDCONST	R7	K2
          0x7C140400,  //  0007  CALL	R5	2
          0x84140002,  //  0008  CLOSURE	R5	P2
          0x4C180000,  //  0009  LDNIL	R6
          0x8C1C0103,  //  000A  GETMET	R7	R0	K3
          0x58240004,  //  000B  LDCONST	R9	K4
          0x7C1C0400,  //  000C  CALL	R7	2
          0x781E0003,  //  000D  JMPF	R7	#0012
          0x5C1C0A00,  //  000E  MOVE	R7	R5
          0x94200104,  //  000F  GETIDX	R8	R0	K4
          0x7C1C0200,  //  0010  CALL	R7	1
          0x5C180E00,  //  0011  MOVE	R6	R7
          0x8C1C0103,  //  0012  GETMET	R7	R0	K3
          0x58240005,  //  0013  LDCONST	R9	K5
          0x7C1C0400,  //  0014  CALL	R7	2
          0x781E0004,  //  0015  JMPF	R7	#001B
          0x300C0702,  //  0016  OR	R3	R3	K2
          0x5C1C0400,  //  0017  MOVE	R7	R2
          0x94200105,  //  0018  GETIDX	R8	R0	K5
          0x5C240800,  //  0019  MOVE	R9	R4
          0x7C1C0400,  //  001A  CALL	R7	2
          0x8C1C0103,  //  001B  GETMET	R7	R0	K3
          0x58240006,  //  001C  LDCONST	R9	K6
          0x7C1C0400,  //  001D  CALL	R7	2
          0x781E0004,  //  001E  JMPF	R7	#0024
          0x300C0707,  //  001F  OR	R3	R3	K7
          0x5C1C0400,  //  0020  MOVE	R7	R2
          0x94200106,  //  0021  GETIDX	R8	R0	K6
          0x5C240800,  //  0022  MOVE	R9	R4
          0x7C1C0400,  //  0023  CALL	R7	2
          0x8C1C0103,  //  0024  GETMET	R7	R0	K3
          0x58240008,  //  0025  LDCONST	R9	K8
          0x7C1C0400,  //  0026  CALL	R7	2
          0x781E0005,  //  0027  JMPF	R7	#002E
          0x541E0003,  //  0028  LDINT	R7	4
          0x300C0607,  //  0029  OR	R3	R3	R7
          0x5C1C0400,  //  002A  MOVE	R7	R2
          0x94200108,  //  002B  GETIDX	R8	R0	K8
          0x5C240800,  //  002C  MOVE	R9	R4
          0x7C1C0400,  //  002D  CALL	R7	2
          0x4C1C0000,  //  002E  LDNIL	R7
          0x201C0C07,  //  002F  NE	R7	R6	R7
          0x781E0005,  //  0030  JMPF	R7	#0037
          0x541E0007,  //  0031  LDINT	R7	8
          0x300C0607,  //  0032  OR	R3	R3	R7
          0x8C1C0909,  //  0033  GETMET	R7	R4	K9
          0x5C240C00,  //  0034  MOVE	R9	R6
          0x58280002,  //  0035  LDCONST	R10	K2
          0x7C1C0600,  //  0036  CALL	R7	3
          0x8C1C0103,  //  0037  GETMET	R7	R0	K3
          0x5824000A,  //  0038  LDCONST	R9	K10
          0x7C1C0400,  //  0039  CALL	R7	2
          0x781E0016,  //  003A  JMPF	R7	#0052
          0x541E000F,  //  003B  LDINT	R7	16
          0x300C0607,  //  003C  OR	R3	R3	R7
          0x941C010A,  //  003D  GETIDX	R7	R0	K10
          0x8C200909,  //  003E  GETMET	R8	R4	K9
          0x6028000C,  //  003F  GETGBL	R10	G12
          0x5C2C0E00,  //  0040  MOVE	R11	R7
          0x7C280200,  //  0041  CALL	R10	1
          0x582C0002,  //  0042  LDCONST	R11	K2
          0x7C200600,  //  0043  CALL	R8	3
          0x60200010,  //  0044  GETGBL	R8	G16
          0x5C240E00,  //  0045  MOVE	R9	R7
          0x7C200200,  //  0046  CALL	R8	1
          0xA8020006,  //  0047  EXBLK	0	#004F
          0x5C241000,  //  0048  MOVE	R9	R8
          0x7C240000,  //  0049  CALL	R9	0
          0x5C280400,  //  004A  MOVE	R10	R2
          0x5C2C1200,  //  004B  MOVE	R11	R9
          0x5C300800,  //  004C  MOVE	R12	R4
          0x7C280400,  //  004D  CALL	R10	2
          0x7001FFF8,  //  004E  JMP		#0048
          0x5820000B,  //  004F  LDCONST	R8	K11
          0xAC200200,  //  0050  CATCH	R8	1	0
          0xB0080000,  //  0051  RAISE	2	R0	R0
          0x8C1C0103,  //  0052  GETMET	R7	R0	K3
          0x5824000C,  //  0053  LDCONST	R9	K12
          0x7C1C0400,  //  0054  CALL	R7	2
          0x781E0003,  //  0055  JMPF	R7	#005A
          0x941C010C,  //  0056  GETIDX	R7	R0	K12
          0x781E0001,  //  0057  JMPF	R7	#005A
          0x541E001F,  //  0058  LDINT	R7	32
          0x300C0607,  //  0059  OR	R3	R3	R7
          0x8C1C090D,  //  005A  GETMET	R7	R4	K13
          0x58240000,  //  005B  LDCONST	R9	K0
          0x5C280600,  //  005C  MOVE	R10	R3
          0x582C0002,  //  005D  LDCONST	R11	K2
          0x7C1C0800,  //  005E  CALL	R7	4
          0xA0000000,  //  005F  CLOSE	R0
          0x80040800,  //  0060  RET	1	R4
        })
      ),
    }),
    1,                          /* has constants */
    ( &(const bvalue[ 2]) {     /* constants */
    /* K0   */  be_nested_str_weak(keys),
    /* K1   */  be_nested_str_weak(stop_iteration),
    }),
    be_str_weak(encode_constraints),
    &be_const_str_solidified,
    ( &(const binstruction[19]) {  /* code */
      0x84040000,  //  0000  CLOSURE	R1	P0
      0x60080013,  //  0001  GETGBL	R2	G19
      0x7C080000,  //  0002  CALL	R2	0
      0x600C0010,  //  0003  GETGBL	R3	G16
      0x8C100100,  //  0004  GETMET	R4	R0	K0
      0x7C100200,  //  0005  CALL	R4	1
      0x7C0C0200,  //  0006  CALL	R3	1
      0xA8020006,  //  0007  EXBLK	0	#000F
      0x5C100600,  //  0008  MOVE	R4	R3
      0x7C100000,  //  0009  CALL	R4	0
      0x5C140200,  //  000A  MOVE	R5	R1
      0x94180004,  //  000B  GETIDX	R6	R0	R4
      0x7C140200,  //  000C  CALL	R5	1
      0x98080805,  //  000D  SETIDX	R2	R4	R5
      0x7001FFF8,  //  000E  JMP		#0008
      0x580C0001,  //  000F  LDCONST	R3	K1
      0xAC0C0200,  //  0010  CATCH	R3	1	0
      0xB0080000,  //  0011  RAISE	2	R0	R0
      0x80040400,  //  0012  RET	1	R2
    })
  )
);
/*******************************************************************/


/********************************************************************
** Solidified function: smooth
********************************************************************/
be_local_closure(smooth,   /* name */
  be_nested_proto(
    4,                          /* nstack */
    1,                          /* argc */
    0,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    0,                          /* has sup protos */
    NULL,                       /* no sub protos */
    1,                          /* has constants */
    ( &(const bvalue[ 4]) {     /* constants */
    /* K0   */  be_nested_str_weak(animation),
    /* K1   */  be_nested_str_weak(oscillator_value),
    /* K2   */  be_nested_str_weak(form),
    /* K3   */  be_nested_str_weak(COSINE),
    }),
    be_str_weak(smooth),
    &be_const_str_solidified,
    ( &(const binstruction[ 8]) {  /* code */
      0xB8060000,  //  0000  GETNGBL	R1	K0
      0x8C040301,  //  0001  GETMET	R1	R1	K1
      0x5C0C0000,  //  0002  MOVE	R3	R0
      0x7C040400,  //  0003  CALL	R1	2
      0xB80A0000,  //  0004  GETNGBL	R2	K0
      0x88080503,  //  0005  GETMBR	R2	R2	K3
      0x90060402,  //  0006  SETMBR	R1	K2	R2
      0x80040200,  //  0007  RET	1	R1
    })
  )
);
/*******************************************************************/


/********************************************************************
** Solidified function: gradient_rainbow_linear
********************************************************************/
be_local_closure(gradient_rainbow_linear,   /* name */
  be_nested_proto(
    4,                          /* nstack */
    1,                          /* argc */
    0,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    0,                          /* has sup protos */
    NULL,                       /* no sub protos */
    1,                          /* has constants */
    ( &(const bvalue[ 7]) {     /* constants */
    /* K0   */  be_nested_str_weak(animation),
    /* K1   */  be_nested_str_weak(gradient_animation),
    /* K2   */  be_nested_str_weak(color),
    /* K3   */  be_nested_str_weak(gradient_type),
    /* K4   */  be_const_int(0),
    /* K5   */  be_nested_str_weak(direction),
    /* K6   */  be_nested_str_weak(movement_speed),
    }),
    be_str_weak(gradient_rainbow_linear),
    &be_const_str_solidified,
    ( &(const binstruction[11]) {  /* code */
      0xB8060000,  //  0000  GETNGBL	R1	K0
      0x8C040301,  //  0001  GETMET	R1	R1	K1
      0x5C0C0000,  //  0002  MOVE	R3	R0
      0x7C040400,  //  0003  CALL	R1	2
      0x4C080000,  //  0004  LDNIL	R2
      0x90060402,  //  0005  SETMBR	R1	K2	R2
      0x90060704,  //  0006  SETMBR	R1	K3	K4
      0x90060B04,  //  0007  SETMBR	R1	K5	K4
      0x540A0031,  //  0008  LDINT	R2	50
      0x90060C02,  //  0009  SETMBR	R1	K6	R2
      0x80040200,  //  000A  RET	1	R1
    })
  )
);
/*******************************************************************/


/********************************************************************
** Solidified function: clear_all_event_handlers
********************************************************************/
be_local_closure(clear_all_event_handlers,   /* name */
  be_nested_proto(
    2,                          /* nstack */
    0,                          /* argc */
    0,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    0,                          /* has sup protos */
    NULL,                       /* no sub protos */
    1,                          /* has constants */
    ( &(const bvalue[ 3]) {     /* constants */
    /* K0   */  be_nested_str_weak(animation),
    /* K1   */  be_nested_str_weak(event_manager),
    /* K2   */  be_nested_str_weak(clear_all_handlers),
    }),
    be_str_weak(clear_all_event_handlers),
    &be_const_str_solidified,
    ( &(const binstruction[ 5]) {  /* code */
      0xB8020000,  //  0000  GETNGBL	R0	K0
      0x88000101,  //  0001  GETMBR	R0	R0	K1
      0x8C000102,  //  0002  GETMET	R0	R0	K2
      0x7C000200,  //  0003  CALL	R0	1
      0x80000000,  //  0004  RET	0
    })
  )
);
/*******************************************************************/


/********************************************************************
** Solidified function: twinkle_rainbow
********************************************************************/
be_local_closure(twinkle_rainbow,   /* name */
  be_nested_proto(
    4,                          /* nstack */
    1,                          /* argc */
    0,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    0,                          /* has sup protos */
    NULL,                       /* no sub protos */
    1,                          /* has constants */
    ( &(const bvalue[ 8]) {     /* constants */
    /* K0   */  be_nested_str_weak(animation),
    /* K1   */  be_nested_str_weak(twinkle_animation),
    /* K2   */  be_nested_str_weak(color),
    /* K3   */  be_nested_str_weak(density),
    /* K4   */  be_nested_str_weak(twinkle_speed),
    /* K5   */  be_nested_str_weak(fade_speed),
    /* K6   */  be_nested_str_weak(min_brightness),
    /* K7   */  be_nested_str_weak(max_brightness),
    }),
    be_str_weak(twinkle_rainbow),
    &be_const_str_solidified,
    ( &(const binstruction[17]) {  /* code */
      0xB8060000,  //  0000  GETNGBL	R1	K0
      0x8C040301,  //  0001  GETMET	R1	R1	K1
      0x5C0C0000,  //  0002  MOVE	R3	R0
      0x7C040400,  //  0003  CALL	R1	2
      0x5409FFFE,  //  0004  LDINT	R2	-1
      0x90060402,  //  0005  SETMBR	R1	K2	R2
      0x540A0077,  //  0006  LDINT	R2	120
      0x90060602,  //  0007  SETMBR	R1	K3	R2
      0x540A0005,  //  0008  LDINT	R2	6
      0x90060802,  //  0009  SETMBR	R1	K4	R2
      0x540A00B3,  //  000A  LDINT	R2	180
      0x90060A02,  //  000B  SETMBR	R1	K5	R2
      0x540A001F,  //  000C  LDINT	R2	32
      0x90060C02,  //  000D  SETMBR	R1	K6	R2
      0x540A00FE,  //  000E  LDINT	R2	255
      0x90060E02,  //  000F  SETMBR	R1	K7	R2
      0x80040200,  //  0010  RET	1	R1
    })
  )
);
/*******************************************************************/


/********************************************************************
** Solidified function: is_value_provider
********************************************************************/
be_local_closure(is_value_provider,   /* name */
  be_nested_proto(
    4,                          /* nstack */
    1,                          /* argc */
    0,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    0,                          /* has sup protos */
    NULL,                       /* no sub protos */
    1,                          /* has constants */
    ( &(const bvalue[ 2]) {     /* constants */
    /* K0   */  be_nested_str_weak(animation),
    /* K1   */  be_nested_str_weak(value_provider),
    }),
    be_str_weak(is_value_provider),
    &be_const_str_solidified,
    ( &(const binstruction[ 6]) {  /* code */
      0x6004000F,  //  0000  GETGBL	R1	G15
      0x5C080000,  //  0001  MOVE	R2	R0
      0xB80E0000,  //  0002  GETNGBL	R3	K0
      0x880C0701,  //  0003  GETMBR	R3	R3	K1
      0x7C040400,  //  0004  CALL	R1	2
      0x80040200,  //  0005  RET	1	R1
    })
  )
);
/*******************************************************************/

// compact class 'EventHandler' ktab size: 7, total: 11 (saved 32 bytes)
static const bvalue be_ktab_class_EventHandler[7] = {
  /* K0   */  be_nested_str_weak(is_active),
  /* K1   */  be_nested_str_weak(condition),
  /* K2   */  be_nested_str_weak(callback_func),
  /* K3   */  be_nested_str_weak(event_name),
  /* K4   */  be_nested_str_weak(priority),
  /* K5   */  be_const_int(0),
  /* K6   */  be_nested_str_weak(metadata),
};


extern const bclass be_class_EventHandler;

/********************************************************************
** Solidified function: set_active
********************************************************************/
be_local_closure(class_EventHandler_set_active,   /* name */
  be_nested_proto(
    2,                          /* nstack */
    2,                          /* argc */
    10,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    0,                          /* has sup protos */
    NULL,                       /* no sub protos */
    1,                          /* has constants */
    &be_ktab_class_EventHandler,     /* shared constants */
    be_str_weak(set_active),
    &be_const_str_solidified,
    ( &(const binstruction[ 2]) {  /* code */
      0x90020001,  //  0000  SETMBR	R0	K0	R1
      0x80000000,  //  0001  RET	0
    })
  )
);
/*******************************************************************/


/********************************************************************
** Solidified function: execute
********************************************************************/
be_local_closure(class_EventHandler_execute,   /* name */
  be_nested_proto(
    5,                          /* nstack */
    2,                          /* argc */
    10,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    0,                          /* has sup protos */
    NULL,                       /* no sub protos */
    1,                          /* has constants */
    &be_ktab_class_EventHandler,     /* shared constants */
    be_str_weak(execute),
    &be_const_str_solidified,
    ( &(const binstruction[25]) {  /* code */
      0x88080100,  //  0000  GETMBR	R2	R0	K0
      0x740A0001,  //  0001  JMPT	R2	#0004
      0x50080000,  //  0002  LDBOOL	R2	0	0
      0x80040400,  //  0003  RET	1	R2
      0x88080101,  //  0004  GETMBR	R2	R0	K1
      0x4C0C0000,  //  0005  LDNIL	R3
      0x20080403,  //  0006  NE	R2	R2	R3
      0x780A0005,  //  0007  JMPF	R2	#000E
      0x8C080101,  //  0008  GETMET	R2	R0	K1
      0x5C100200,  //  0009  MOVE	R4	R1
      0x7C080400,  //  000A  CALL	R2	2
      0x740A0001,  //  000B  JMPT	R2	#000E
      0x50080000,  //  000C  LDBOOL	R2	0	0
      0x80040400,  //  000D  RET	1	R2
      0x88080102,  //  000E  GETMBR	R2	R0	K2
      0x4C0C0000,  //  000F  LDNIL	R3
      0x20080403,  //  0010  NE	R2	R2	R3
      0x780A0004,  //  0011  JMPF	R2	#0017
      0x8C080102,  //  0012  GETMET	R2	R0	K2
      0x5C100200,  //  0013  MOVE	R4	R1
      0x7C080400,  //  0014  CALL	R2	2
      0x50080200,  //  0015  LDBOOL	R2	1	0
      0x80040400,  //  0016  RET	1	R2
      0x50080000,  //  0017  LDBOOL	R2	0	0
      0x80040400,  //  0018  RET	1	R2
    })
  )
);
/*******************************************************************/


/********************************************************************
** Solidified function: init
********************************************************************/
be_local_closure(class_EventHandler_init,   /* name */
  be_nested_proto(
    7,                          /* nstack */
    6,                          /* argc */
    10,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    0,                          /* has sup protos */
    NULL,                       /* no sub protos */
    1,                          /* has constants */
    &be_ktab_class_EventHandler,     /* shared constants */
    be_str_weak(init),
    &be_const_str_solidified,
    ( &(const binstruction[21]) {  /* code */
      0x90020601,  //  0000  SETMBR	R0	K3	R1
      0x90020402,  //  0001  SETMBR	R0	K2	R2
      0x4C180000,  //  0002  LDNIL	R6
      0x20180606,  //  0003  NE	R6	R3	R6
      0x781A0001,  //  0004  JMPF	R6	#0007
      0x5C180600,  //  0005  MOVE	R6	R3
      0x70020000,  //  0006  JMP		#0008
      0x58180005,  //  0007  LDCONST	R6	K5
      0x90020806,  //  0008  SETMBR	R0	K4	R6
      0x90020204,  //  0009  SETMBR	R0	K1	R4
      0x50180200,  //  000A  LDBOOL	R6	1	0
      0x90020006,  //  000B  SETMBR	R0	K0	R6
      0x4C180000,  //  000C  LDNIL	R6
      0x20180A06,  //  000D  NE	R6	R5	R6
      0x781A0001,  //  000E  JMPF	R6	#0011
      0x5C180A00,  //  000F  MOVE	R6	R5
      0x70020001,  //  0010  JMP		#0013
      0x60180013,  //  0011  GETGBL	R6	G19
      0x7C180000,  //  0012  CALL	R6	0
      0x90020C06,  //  0013  SETMBR	R0	K6	R6
      0x80000000,  //  0014  RET	0
    })
  )
);
/*******************************************************************/


/********************************************************************
** Solidified class: EventHandler
********************************************************************/
be_local_class(EventHandler,
    6,
    NULL,
    be_nested_map(9,
    ( (struct bmapnode*) &(const bmapnode[]) {
        { be_const_key_weak(set_active, -1), be_const_closure(class_EventHandler_set_active_closure) },
        { be_const_key_weak(execute, 2), be_const_closure(class_EventHandler_execute_closure) },
        { be_const_key_weak(callback_func, -1), be_const_var(1) },
        { be_const_key_weak(init, -1), be_const_closure(class_EventHandler_init_closure) },
        { be_const_key_weak(event_name, -1), be_const_var(0) },
        { be_const_key_weak(condition, -1), be_const_var(2) },
        { be_const_key_weak(priority, 3), be_const_var(3) },
        { be_const_key_weak(metadata, -1), be_const_var(5) },
        { be_const_key_weak(is_active, -1), be_const_var(4) },
    })),
    be_str_weak(EventHandler)
);

/********************************************************************
** Solidified function: twinkle_gentle
********************************************************************/
be_local_closure(twinkle_gentle,   /* name */
  be_nested_proto(
    4,                          /* nstack */
    1,                          /* argc */
    0,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    0,                          /* has sup protos */
    NULL,                       /* no sub protos */
    1,                          /* has constants */
    ( &(const bvalue[ 9]) {     /* constants */
    /* K0   */  be_nested_str_weak(animation),
    /* K1   */  be_nested_str_weak(twinkle_animation),
    /* K2   */  be_nested_str_weak(color),
    /* K3   */  be_nested_str_weak(density),
    /* K4   */  be_nested_str_weak(twinkle_speed),
    /* K5   */  be_const_int(3),
    /* K6   */  be_nested_str_weak(fade_speed),
    /* K7   */  be_nested_str_weak(min_brightness),
    /* K8   */  be_nested_str_weak(max_brightness),
    }),
    be_str_weak(twinkle_gentle),
    &be_const_str_solidified,
    ( &(const binstruction[16]) {  /* code */
      0xB8060000,  //  0000  GETNGBL	R1	K0
      0x8C040301,  //  0001  GETMET	R1	R1	K1
      0x5C0C0000,  //  0002  MOVE	R3	R0
      0x7C040400,  //  0003  CALL	R1	2
      0x5409D6FF,  //  0004  LDINT	R2	-10496
      0x90060402,  //  0005  SETMBR	R1	K2	R2
      0x540A003F,  //  0006  LDINT	R2	64
      0x90060602,  //  0007  SETMBR	R1	K3	R2
      0x90060905,  //  0008  SETMBR	R1	K4	K5
      0x540A0077,  //  0009  LDINT	R2	120
      0x90060C02,  //  000A  SETMBR	R1	K6	R2
      0x540A000F,  //  000B  LDINT	R2	16
      0x90060E02,  //  000C  SETMBR	R1	K7	R2
      0x540A00B3,  //  000D  LDINT	R2	180
      0x90061002,  //  000E  SETMBR	R1	K8	R2
      0x80040200,  //  000F  RET	1	R1
    })
  )
);
/*******************************************************************/

// compact class 'PaletteGradientAnimation' ktab size: 35, total: 52 (saved 136 bytes)
static const bvalue be_ktab_class_PaletteGradientAnimation[35] = {
  /* K0   */  be_nested_str_weak(on_param_changed),
  /* K1   */  be_nested_str_weak(color_source),
  /* K2   */  be_nested_str_weak(_initialize_value_buffer),
  /* K3   */  be_nested_str_weak(member),
  /* K4   */  be_nested_str_weak(shift_period),
  /* K5   */  be_nested_str_weak(spatial_period),
  /* K6   */  be_nested_str_weak(phase_shift),
  /* K7   */  be_const_int(0),
  /* K8   */  be_nested_str_weak(_spatial_period),
  /* K9   */  be_nested_str_weak(_phase_shift),
  /* K10  */  be_nested_str_weak(value_buffer),
  /* K11  */  be_nested_str_weak(tasmota),
  /* K12  */  be_nested_str_weak(scale_uint),
  /* K13  */  be_const_int(522241),
  /* K14  */  be_const_int(1),
  /* K15  */  be_nested_str_weak(_buffer),
  /* K16  */  be_nested_str_weak(get_param),
  /* K17  */  be_nested_str_weak(animation),
  /* K18  */  be_nested_str_weak(color_provider),
  /* K19  */  be_nested_str_weak(get_lut),
  /* K20  */  be_nested_str_weak(LUT_FACTOR),
  /* K21  */  be_nested_str_weak(pixels),
  /* K22  */  be_const_int(2),
  /* K23  */  be_const_int(3),
  /* K24  */  be_nested_str_weak(start_time),
  /* K25  */  be_nested_str_weak(get_color_for_value),
  /* K26  */  be_nested_str_weak(set_pixel_color),
  /* K27  */  be_nested_str_weak(engine),
  /* K28  */  be_nested_str_weak(strip_length),
  /* K29  */  be_nested_str_weak(_X25s_X28strip_length_X3D_X25s_X2C_X20priority_X3D_X25s_X2C_X20running_X3D_X25s_X29),
  /* K30  */  be_nested_str_weak(priority),
  /* K31  */  be_nested_str_weak(is_running),
  /* K32  */  be_nested_str_weak(resize),
  /* K33  */  be_nested_str_weak(init),
  /* K34  */  be_nested_str_weak(_update_value_buffer),
};


extern const bclass be_class_PaletteGradientAnimation;

/********************************************************************
** Solidified function: on_param_changed
********************************************************************/
be_local_closure(class_PaletteGradientAnimation_on_param_changed,   /* name */
  be_nested_proto(
    7,                          /* nstack */
    3,                          /* argc */
    10,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    0,                          /* has sup protos */
    NULL,                       /* no sub protos */
    1,                          /* has constants */
    &be_ktab_class_PaletteGradientAnimation,     /* shared constants */
    be_str_weak(on_param_changed),
    &be_const_str_solidified,
    ( &(const binstruction[12]) {  /* code */
      0x600C0003,  //  0000  GETGBL	R3	G3
      0x5C100000,  //  0001  MOVE	R4	R0
      0x7C0C0200,  //  0002  CALL	R3	1
      0x8C0C0700,  //  0003  GETMET	R3	R3	K0
      0x5C140200,  //  0004  MOVE	R5	R1
      0x5C180400,  //  0005  MOVE	R6	R2
      0x7C0C0600,  //  0006  CALL	R3	3
      0x1C0C0301,  //  0007  EQ	R3	R1	K1
      0x780E0001,  //  0008  JMPF	R3	#000B
      0x8C0C0102,  //  0009  GETMET	R3	R0	K2
      0x7C0C0200,  //  000A  CALL	R3	1
      0x80000000,  //  000B  RET	0
    })
  )
);
/*******************************************************************/


/********************************************************************
** Solidified function: _update_value_buffer
********************************************************************/
be_local_closure(class_PaletteGradientAnimation__update_value_buffer,   /* name */
  be_nested_proto(
    15,                          /* nstack */
    3,                          /* argc */
    10,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    0,                          /* has sup protos */
    NULL,                       /* no sub protos */
    1,                          /* has constants */
    &be_ktab_class_PaletteGradientAnimation,     /* shared constants */
    be_str_weak(_update_value_buffer),
    &be_const_str_solidified,
    ( &(const binstruction[72]) {  /* code */
      0x8C0C0103,  //  0000  GETMET	R3	R0	K3
      0x58140004,  //  0001  LDCONST	R5	K4
      0x7C0C0400,  //  0002  CALL	R3	2
      0x8C100103,  //  0003  GETMET	R4	R0	K3
      0x58180005,  //  0004  LDCONST	R6	K5
      0x7C100400,  //  0005  CALL	R4	2
      0x8C140103,  //  0006  GETMET	R5	R0	K3
      0x581C0006,  //  0007  LDCONST	R7	K6
      0x7C140400,  //  0008  CALL	R5	2
      0x1C180707,  //  0009  EQ	R6	R3	K7
      0x781A0011,  //  000A  JMPF	R6	#001D
      0x88180108,  //  000B  GETMBR	R6	R0	K8
      0x4C1C0000,  //  000C  LDNIL	R7
      0x20180C07,  //  000D  NE	R6	R6	R7
      0x781A000B,  //  000E  JMPF	R6	#001B
      0x88180108,  //  000F  GETMBR	R6	R0	K8
      0x1C180C04,  //  0010  EQ	R6	R6	R4
      0x781A0008,  //  0011  JMPF	R6	#001B
      0x88180109,  //  0012  GETMBR	R6	R0	K9
      0x1C180C05,  //  0013  EQ	R6	R6	R5
      0x781A0005,  //  0014  JMPF	R6	#001B
      0x6018000C,  //  0015  GETGBL	R6	G12
      0x881C010A,  //  0016  GETMBR	R7	R0	K10
      0x7C180200,  //  0017  CALL	R6	1
      0x1C180C02,  //  0018  EQ	R6	R6	R2
      0x781A0000,  //  0019  JMPF	R6	#001B
      0x80000C00,  //  001A  RET	0
      0x90021004,  //  001B  SETMBR	R0	K8	R4
      0x90021205,  //  001C  SETMBR	R0	K9	R5
      0x24180907,  //  001D  GT	R6	R4	K7
      0x781A0001,  //  001E  JMPF	R6	#0021
      0x5C180800,  //  001F  MOVE	R6	R4
      0x70020000,  //  0020  JMP		#0022
      0x5C180400,  //  0021  MOVE	R6	R2
      0x581C0007,  //  0022  LDCONST	R7	K7
      0x24200707,  //  0023  GT	R8	R3	K7
      0x78220008,  //  0024  JMPF	R8	#002E
      0xB8221600,  //  0025  GETNGBL	R8	K11
      0x8C20110C,  //  0026  GETMET	R8	R8	K12
      0x10280203,  //  0027  MOD	R10	R1	R3
      0x582C0007,  //  0028  LDCONST	R11	K7
      0x5C300600,  //  0029  MOVE	R12	R3
      0x58340007,  //  002A  LDCONST	R13	K7
      0x5C380C00,  //  002B  MOVE	R14	R6
      0x7C200C00,  //  002C  CALL	R8	6
      0x5C1C1000,  //  002D  MOVE	R7	R8
      0xB8221600,  //  002E  GETNGBL	R8	K11
      0x8C20110C,  //  002F  GETMET	R8	R8	K12
      0x5C280A00,  //  0030  MOVE	R10	R5
      0x582C0007,  //  0031  LDCONST	R11	K7
      0x543200FE,  //  0032  LDINT	R12	255
      0x58340007,  //  0033  LDCONST	R13	K7
      0x5C380C00,  //  0034  MOVE	R14	R6
      0x7C200C00,  //  0035  CALL	R8	6
      0x58240007,  //  0036  LDCONST	R9	K7
      0x00280E08,  //  0037  ADD	R10	R7	R8
      0x10281406,  //  0038  MOD	R10	R10	R6
      0x0C2E1A06,  //  0039  DIV	R11	K13	R6
      0x3C2C170E,  //  003A  SHR	R11	R11	K14
      0x0830140B,  //  003B  MUL	R12	R10	R11
      0x8834010A,  //  003C  GETMBR	R13	R0	K10
      0x8C341B0F,  //  003D  GETMET	R13	R13	K15
      0x7C340200,  //  003E  CALL	R13	1
      0x14381202,  //  003F  LT	R14	R9	R2
      0x783A0005,  //  0040  JMPF	R14	#0047
      0x543A0009,  //  0041  LDINT	R14	10
      0x3C38180E,  //  0042  SHR	R14	R12	R14
      0x9834120E,  //  0043  SETIDX	R13	R9	R14
      0x0030180B,  //  0044  ADD	R12	R12	R11
      0x0024130E,  //  0045  ADD	R9	R9	K14
      0x7001FFF7,  //  0046  JMP		#003F
      0x80000000,  //  0047  RET	0
    })
  )
);
/*******************************************************************/


/********************************************************************
** Solidified function: render
********************************************************************/
be_local_closure(class_PaletteGradientAnimation_render,   /* name */
  be_nested_proto(
    16,                          /* nstack */
    4,                          /* argc */
    10,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    0,                          /* has sup protos */
    NULL,                       /* no sub protos */
    1,                          /* has constants */
    &be_ktab_class_PaletteGradientAnimation,     /* shared constants */
    be_str_weak(render),
    &be_const_str_solidified,
    ( &(const binstruction[75]) {  /* code */
      0x8C100110,  //  0000  GETMET	R4	R0	K16
      0x58180001,  //  0001  LDCONST	R6	K1
      0x7C100400,  //  0002  CALL	R4	2
      0x4C140000,  //  0003  LDNIL	R5
      0x1C140805,  //  0004  EQ	R5	R4	R5
      0x78160001,  //  0005  JMPF	R5	#0008
      0x50140000,  //  0006  LDBOOL	R5	0	0
      0x80040A00,  //  0007  RET	1	R5
      0x4C140000,  //  0008  LDNIL	R5
      0x6018000F,  //  0009  GETGBL	R6	G15
      0x5C1C0800,  //  000A  MOVE	R7	R4
      0xB8222200,  //  000B  GETNGBL	R8	K17
      0x88201112,  //  000C  GETMBR	R8	R8	K18
      0x7C180400,  //  000D  CALL	R6	2
      0x781A0028,  //  000E  JMPF	R6	#0038
      0x8C180913,  //  000F  GETMET	R6	R4	K19
      0x7C180200,  //  0010  CALL	R6	1
      0x5C140C00,  //  0011  MOVE	R5	R6
      0x4C1C0000,  //  0012  LDNIL	R7
      0x20180C07,  //  0013  NE	R6	R6	R7
      0x781A0022,  //  0014  JMPF	R6	#0038
      0x88180914,  //  0015  GETMBR	R6	R4	K20
      0x541E00FF,  //  0016  LDINT	R7	256
      0x3C1C0E06,  //  0017  SHR	R7	R7	R6
      0x58200007,  //  0018  LDCONST	R8	K7
      0x88240315,  //  0019  GETMBR	R9	R1	K21
      0x8C24130F,  //  001A  GETMET	R9	R9	K15
      0x7C240200,  //  001B  CALL	R9	1
      0x8C280B0F,  //  001C  GETMET	R10	R5	K15
      0x7C280200,  //  001D  CALL	R10	1
      0x882C010A,  //  001E  GETMBR	R11	R0	K10
      0x8C2C170F,  //  001F  GETMET	R11	R11	K15
      0x7C2C0200,  //  0020  CALL	R11	1
      0x14301003,  //  0021  LT	R12	R8	R3
      0x78320013,  //  0022  JMPF	R12	#0037
      0x94301608,  //  0023  GETIDX	R12	R11	R8
      0x3C341806,  //  0024  SHR	R13	R12	R6
      0x543A00FE,  //  0025  LDINT	R14	255
      0x1C38180E,  //  0026  EQ	R14	R12	R14
      0x783A0000,  //  0027  JMPF	R14	#0029
      0x5C340E00,  //  0028  MOVE	R13	R7
      0x38381B16,  //  0029  SHL	R14	R13	K22
      0x0038140E,  //  002A  ADD	R14	R10	R14
      0x943C1D07,  //  002B  GETIDX	R15	R14	K7
      0x98260E0F,  //  002C  SETIDX	R9	K7	R15
      0x943C1D0E,  //  002D  GETIDX	R15	R14	K14
      0x98261C0F,  //  002E  SETIDX	R9	K14	R15
      0x943C1D16,  //  002F  GETIDX	R15	R14	K22
      0x98262C0F,  //  0030  SETIDX	R9	K22	R15
      0x943C1D17,  //  0031  GETIDX	R15	R14	K23
      0x98262E0F,  //  0032  SETIDX	R9	K23	R15
      0x0020110E,  //  0033  ADD	R8	R8	K14
      0x543E0003,  //  0034  LDINT	R15	4
      0x0024120F,  //  0035  ADD	R9	R9	R15
      0x7001FFE9,  //  0036  JMP		#0021
      0x70020010,  //  0037  JMP		#0049
      0x88180118,  //  0038  GETMBR	R6	R0	K24
      0x04180406,  //  0039  SUB	R6	R2	R6
      0x581C0007,  //  003A  LDCONST	R7	K7
      0x14200E03,  //  003B  LT	R8	R7	R3
      0x7822000B,  //  003C  JMPF	R8	#0049
      0x8820010A,  //  003D  GETMBR	R8	R0	K10
      0x94201007,  //  003E  GETIDX	R8	R8	R7
      0x8C240919,  //  003F  GETMET	R9	R4	K25
      0x5C2C1000,  //  0040  MOVE	R11	R8
      0x5C300C00,  //  0041  MOVE	R12	R6
      0x7C240600,  //  0042  CALL	R9	3
      0x8C28031A,  //  0043  GETMET	R10	R1	K26
      0x5C300E00,  //  0044  MOVE	R12	R7
      0x5C341200,  //  0045  MOVE	R13	R9
      0x7C280600,  //  0046  CALL	R10	3
      0x001C0F0E,  //  0047  ADD	R7	R7	K14
      0x7001FFF1,  //  0048  JMP		#003B
      0x50180200,  //  0049  LDBOOL	R6	1	0
      0x80040C00,  //  004A  RET	1	R6
    })
  )
);
/*******************************************************************/


/********************************************************************
** Solidified function: tostring
********************************************************************/
be_local_closure(class_PaletteGradientAnimation_tostring,   /* name */
  be_nested_proto(
    8,                          /* nstack */
    1,                          /* argc */
    10,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    0,                          /* has sup protos */
    NULL,                       /* no sub protos */
    1,                          /* has constants */
    &be_ktab_class_PaletteGradientAnimation,     /* shared constants */
    be_str_weak(tostring),
    &be_const_str_solidified,
    ( &(const binstruction[12]) {  /* code */
      0x8804011B,  //  0000  GETMBR	R1	R0	K27
      0x8804031C,  //  0001  GETMBR	R1	R1	K28
      0x60080018,  //  0002  GETGBL	R2	G24
      0x580C001D,  //  0003  LDCONST	R3	K29
      0x60100005,  //  0004  GETGBL	R4	G5
      0x5C140000,  //  0005  MOVE	R5	R0
      0x7C100200,  //  0006  CALL	R4	1
      0x5C140200,  //  0007  MOVE	R5	R1
      0x8818011E,  //  0008  GETMBR	R6	R0	K30
      0x881C011F,  //  0009  GETMBR	R7	R0	K31
      0x7C080A00,  //  000A  CALL	R2	5
      0x80040400,  //  000B  RET	1	R2
    })
  )
);
/*******************************************************************/


/********************************************************************
** Solidified function: _initialize_value_buffer
********************************************************************/
be_local_closure(class_PaletteGradientAnimation__initialize_value_buffer,   /* name */
  be_nested_proto(
    5,                          /* nstack */
    1,                          /* argc */
    10,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    0,                          /* has sup protos */
    NULL,                       /* no sub protos */
    1,                          /* has constants */
    &be_ktab_class_PaletteGradientAnimation,     /* shared constants */
    be_str_weak(_initialize_value_buffer),
    &be_const_str_solidified,
    ( &(const binstruction[14]) {  /* code */
      0x8804011B,  //  0000  GETMBR	R1	R0	K27
      0x8804031C,  //  0001  GETMBR	R1	R1	K28
      0x8808010A,  //  0002  GETMBR	R2	R0	K10
      0x8C080520,  //  0003  GETMET	R2	R2	K32
      0x5C100200,  //  0004  MOVE	R4	R1
      0x7C080400,  //  0005  CALL	R2	2
      0x58080007,  //  0006  LDCONST	R2	K7
      0x140C0401,  //  0007  LT	R3	R2	R1
      0x780E0003,  //  0008  JMPF	R3	#000D
      0x880C010A,  //  0009  GETMBR	R3	R0	K10
      0x980C0507,  //  000A  SETIDX	R3	R2	K7
      0x0008050E,  //  000B  ADD	R2	R2	K14
      0x7001FFF9,  //  000C  JMP		#0007
      0x80000000,  //  000D  RET	0
    })
  )
);
/*******************************************************************/


/********************************************************************
** Solidified function: init
********************************************************************/
be_local_closure(class_PaletteGradientAnimation_init,   /* name */
  be_nested_proto(
    5,                          /* nstack */
    2,                          /* argc */
    10,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    0,                          /* has sup protos */
    NULL,                       /* no sub protos */
    1,                          /* has constants */
    &be_ktab_class_PaletteGradientAnimation,     /* shared constants */
    be_str_weak(init),
    &be_const_str_solidified,
    ( &(const binstruction[12]) {  /* code */
      0x60080003,  //  0000  GETGBL	R2	G3
      0x5C0C0000,  //  0001  MOVE	R3	R0
      0x7C080200,  //  0002  CALL	R2	1
      0x8C080521,  //  0003  GETMET	R2	R2	K33
      0x5C100200,  //  0004  MOVE	R4	R1
      0x7C080400,  //  0005  CALL	R2	2
      0x60080015,  //  0006  GETGBL	R2	G21
      0x7C080000,  //  0007  CALL	R2	0
      0x90021402,  //  0008  SETMBR	R0	K10	R2
      0x8C080102,  //  0009  GETMET	R2	R0	K2
      0x7C080200,  //  000A  CALL	R2	1
      0x80000000,  //  000B  RET	0
    })
  )
);
/*******************************************************************/


/********************************************************************
** Solidified function: update
********************************************************************/
be_local_closure(class_PaletteGradientAnimation_update,   /* name */
  be_nested_proto(
    8,                          /* nstack */
    2,                          /* argc */
    10,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    0,                          /* has sup protos */
    NULL,                       /* no sub protos */
    1,                          /* has constants */
    &be_ktab_class_PaletteGradientAnimation,     /* shared constants */
    be_str_weak(update),
    &be_const_str_solidified,
    ( &(const binstruction[18]) {  /* code */
      0x88080118,  //  0000  GETMBR	R2	R0	K24
      0x04080202,  //  0001  SUB	R2	R1	R2
      0x880C011B,  //  0002  GETMBR	R3	R0	K27
      0x880C071C,  //  0003  GETMBR	R3	R3	K28
      0x6010000C,  //  0004  GETGBL	R4	G12
      0x8814010A,  //  0005  GETMBR	R5	R0	K10
      0x7C100200,  //  0006  CALL	R4	1
      0x20100803,  //  0007  NE	R4	R4	R3
      0x78120003,  //  0008  JMPF	R4	#000D
      0x8810010A,  //  0009  GETMBR	R4	R0	K10
      0x8C100920,  //  000A  GETMET	R4	R4	K32
      0x5C180600,  //  000B  MOVE	R6	R3
      0x7C100400,  //  000C  CALL	R4	2
      0x8C100122,  //  000D  GETMET	R4	R0	K34
      0x5C180400,  //  000E  MOVE	R6	R2
      0x5C1C0600,  //  000F  MOVE	R7	R3
      0x7C100600,  //  0010  CALL	R4	3
      0x80000000,  //  0011  RET	0
    })
  )
);
/*******************************************************************/


/********************************************************************
** Solidified class: PaletteGradientAnimation
********************************************************************/
extern const bclass be_class_Animation;
be_local_class(PaletteGradientAnimation,
    3,
    &be_class_Animation,
    be_nested_map(11,
    ( (struct bmapnode*) &(const bmapnode[]) {
        { be_const_key_weak(update, 10), be_const_closure(class_PaletteGradientAnimation_update_closure) },
        { be_const_key_weak(_update_value_buffer, 6), be_const_closure(class_PaletteGradientAnimation__update_value_buffer_closure) },
        { be_const_key_weak(value_buffer, -1), be_const_var(0) },
        { be_const_key_weak(tostring, -1), be_const_closure(class_PaletteGradientAnimation_tostring_closure) },
        { be_const_key_weak(render, 0), be_const_closure(class_PaletteGradientAnimation_render_closure) },
        { be_const_key_weak(on_param_changed, 7), be_const_closure(class_PaletteGradientAnimation_on_param_changed_closure) },
        { be_const_key_weak(_initialize_value_buffer, -1), be_const_closure(class_PaletteGradientAnimation__initialize_value_buffer_closure) },
        { be_const_key_weak(_phase_shift, 2), be_const_var(2) },
        { be_const_key_weak(PARAMS, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_map, {
        be_const_map( *     be_nested_map(4,
    ( (struct bmapnode*) &(const bmapnode[]) {
        { be_const_key_weak(color_source, -1), be_const_bytes_instance(0C0605) },
        { be_const_key_weak(shift_period, 2), be_const_bytes_instance(0500000000) },
        { be_const_key_weak(spatial_period, -1), be_const_bytes_instance(0500000000) },
        { be_const_key_weak(phase_shift, -1), be_const_bytes_instance(07000001FF000000) },
    }))    ) } )) },
        { be_const_key_weak(init, -1), be_const_closure(class_PaletteGradientAnimation_init_closure) },
        { be_const_key_weak(_spatial_period, -1), be_const_var(1) },
    })),
    be_str_weak(PaletteGradientAnimation)
);
// compact class 'FrameBuffer' ktab size: 21, total: 43 (saved 176 bytes)
static const bvalue be_ktab_class_FrameBuffer[21] = {
  /* K0   */  be_const_int(0),
  /* K1   */  be_nested_str_weak(value_error),
  /* K2   */  be_nested_str_weak(width_X20must_X20be_X20positive),
  /* K3   */  be_nested_str_weak(width),
  /* K4   */  be_nested_str_weak(pixels),
  /* K5   */  be_nested_str_weak(resize),
  /* K6   */  be_nested_str_weak(clear),
  /* K7   */  be_nested_str_weak(int),
  /* K8   */  be_nested_str_weak(instance),
  /* K9   */  be_nested_str_weak(copy),
  /* K10  */  be_nested_str_weak(argument_X20must_X20be_X20either_X20int_X20or_X20instance),
  /* K11  */  be_nested_str_weak(index_error),
  /* K12  */  be_nested_str_weak(pixel_X20index_X20out_X20of_X20range),
  /* K13  */  be_nested_str_weak(set),
  /* K14  */  be_nested_str_weak(tohex),
  /* K15  */  be_nested_str_weak(FrameBuffer_X28width_X3D_X25s_X2C_X20pixels_X3D_X25s_X29),
  /* K16  */  be_nested_str_weak(set_pixel_color),
  /* K17  */  be_nested_str_weak(animation),
  /* K18  */  be_nested_str_weak(frame_buffer),
  /* K19  */  be_nested_str_weak(get),
  /* K20  */  be_nested_str_weak(get_pixel_color),
};


extern const bclass be_class_FrameBuffer;

/********************************************************************
** Solidified function: resize
********************************************************************/
be_local_closure(class_FrameBuffer_resize,   /* name */
  be_nested_proto(
    6,                          /* nstack */
    2,                          /* argc */
    10,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    0,                          /* has sup protos */
    NULL,                       /* no sub protos */
    1,                          /* has constants */
    &be_ktab_class_FrameBuffer,     /* shared constants */
    be_str_weak(resize),
    &be_const_str_solidified,
    ( &(const binstruction[17]) {  /* code */
      0x18080300,  //  0000  LE	R2	R1	K0
      0x780A0000,  //  0001  JMPF	R2	#0003
      0xB0060302,  //  0002  RAISE	1	K1	K2
      0x88080103,  //  0003  GETMBR	R2	R0	K3
      0x1C080202,  //  0004  EQ	R2	R1	R2
      0x780A0000,  //  0005  JMPF	R2	#0007
      0x80000400,  //  0006  RET	0
      0x90020601,  //  0007  SETMBR	R0	K3	R1
      0x88080104,  //  0008  GETMBR	R2	R0	K4
      0x8C080505,  //  0009  GETMET	R2	R2	K5
      0x88100103,  //  000A  GETMBR	R4	R0	K3
      0x54160003,  //  000B  LDINT	R5	4
      0x08100805,  //  000C  MUL	R4	R4	R5
      0x7C080400,  //  000D  CALL	R2	2
      0x8C080106,  //  000E  GETMET	R2	R0	K6
      0x7C080200,  //  000F  CALL	R2	1
      0x80000000,  //  0010  RET	0
    })
  )
);
/*******************************************************************/


/********************************************************************
** Solidified function: clear
********************************************************************/
be_local_closure(class_FrameBuffer_clear,   /* name */
  be_nested_proto(
    5,                          /* nstack */
    1,                          /* argc */
    10,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    0,                          /* has sup protos */
    NULL,                       /* no sub protos */
    1,                          /* has constants */
    &be_ktab_class_FrameBuffer,     /* shared constants */
    be_str_weak(clear),
    &be_const_str_solidified,
    ( &(const binstruction[18]) {  /* code */
      0x88040104,  //  0000  GETMBR	R1	R0	K4
      0x8C040306,  //  0001  GETMET	R1	R1	K6
      0x7C040200,  //  0002  CALL	R1	1
      0x6004000C,  //  0003  GETGBL	R1	G12
      0x88080104,  //  0004  GETMBR	R2	R0	K4
      0x7C040200,  //  0005  CALL	R1	1
      0x88080103,  //  0006  GETMBR	R2	R0	K3
      0x540E0003,  //  0007  LDINT	R3	4
      0x08080403,  //  0008  MUL	R2	R2	R3
      0x20040202,  //  0009  NE	R1	R1	R2
      0x78060005,  //  000A  JMPF	R1	#0011
      0x88040104,  //  000B  GETMBR	R1	R0	K4
      0x8C040305,  //  000C  GETMET	R1	R1	K5
      0x880C0103,  //  000D  GETMBR	R3	R0	K3
      0x54120003,  //  000E  LDINT	R4	4
      0x080C0604,  //  000F  MUL	R3	R3	R4
      0x7C040400,  //  0010  CALL	R1	2
      0x80000000,  //  0011  RET	0
    })
  )
);
/*******************************************************************/


/********************************************************************
** Solidified function: init
********************************************************************/
be_local_closure(class_FrameBuffer_init,   /* name */
  be_nested_proto(
    7,                          /* nstack */
    2,                          /* argc */
    10,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    0,                          /* has sup protos */
    NULL,                       /* no sub protos */
    1,                          /* has constants */
    &be_ktab_class_FrameBuffer,     /* shared constants */
    be_str_weak(init),
    &be_const_str_solidified,
    ( &(const binstruction[36]) {  /* code */
      0x60080004,  //  0000  GETGBL	R2	G4
      0x5C0C0200,  //  0001  MOVE	R3	R1
      0x7C080200,  //  0002  CALL	R2	1
      0x1C080507,  //  0003  EQ	R2	R2	K7
      0x780A0010,  //  0004  JMPF	R2	#0016
      0x5C080200,  //  0005  MOVE	R2	R1
      0x180C0500,  //  0006  LE	R3	R2	K0
      0x780E0000,  //  0007  JMPF	R3	#0009
      0xB0060302,  //  0008  RAISE	1	K1	K2
      0x90020602,  //  0009  SETMBR	R0	K3	R2
      0x600C0015,  //  000A  GETGBL	R3	G21
      0x54120003,  //  000B  LDINT	R4	4
      0x08100404,  //  000C  MUL	R4	R2	R4
      0x7C0C0200,  //  000D  CALL	R3	1
      0x8C100705,  //  000E  GETMET	R4	R3	K5
      0x541A0003,  //  000F  LDINT	R6	4
      0x08180406,  //  0010  MUL	R6	R2	R6
      0x7C100400,  //  0011  CALL	R4	2
      0x90020803,  //  0012  SETMBR	R0	K4	R3
      0x8C100106,  //  0013  GETMET	R4	R0	K6
      0x7C100200,  //  0014  CALL	R4	1
      0x7002000C,  //  0015  JMP		#0023
      0x60080004,  //  0016  GETGBL	R2	G4
      0x5C0C0200,  //  0017  MOVE	R3	R1
      0x7C080200,  //  0018  CALL	R2	1
      0x1C080508,  //  0019  EQ	R2	R2	K8
      0x780A0006,  //  001A  JMPF	R2	#0022
      0x88080303,  //  001B  GETMBR	R2	R1	K3
      0x90020602,  //  001C  SETMBR	R0	K3	R2
      0x88080304,  //  001D  GETMBR	R2	R1	K4
      0x8C080509,  //  001E  GETMET	R2	R2	K9
      0x7C080200,  //  001F  CALL	R2	1
      0x90020802,  //  0020  SETMBR	R0	K4	R2
      0x70020000,  //  0021  JMP		#0023
      0xB006030A,  //  0022  RAISE	1	K1	K10
      0x80000000,  //  0023  RET	0
    })
  )
);
/*******************************************************************/


/********************************************************************
** Solidified function: set_pixel_color
********************************************************************/
be_local_closure(class_FrameBuffer_set_pixel_color,   /* name */
  be_nested_proto(
    8,                          /* nstack */
    3,                          /* argc */
    10,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    0,                          /* has sup protos */
    NULL,                       /* no sub protos */
    1,                          /* has constants */
    &be_ktab_class_FrameBuffer,     /* shared constants */
    be_str_weak(set_pixel_color),
    &be_const_str_solidified,
    ( &(const binstruction[14]) {  /* code */
      0x140C0300,  //  0000  LT	R3	R1	K0
      0x740E0002,  //  0001  JMPT	R3	#0005
      0x880C0103,  //  0002  GETMBR	R3	R0	K3
      0x280C0203,  //  0003  GE	R3	R1	R3
      0x780E0000,  //  0004  JMPF	R3	#0006
      0xB006170C,  //  0005  RAISE	1	K11	K12
      0x880C0104,  //  0006  GETMBR	R3	R0	K4
      0x8C0C070D,  //  0007  GETMET	R3	R3	K13
      0x54160003,  //  0008  LDINT	R5	4
      0x08140205,  //  0009  MUL	R5	R1	R5
      0x5C180400,  //  000A  MOVE	R6	R2
      0x541E0003,  //  000B  LDINT	R7	4
      0x7C0C0800,  //  000C  CALL	R3	4
      0x80000000,  //  000D  RET	0
    })
  )
);
/*******************************************************************/


/********************************************************************
** Solidified function: tohex
********************************************************************/
be_local_closure(class_FrameBuffer_tohex,   /* name */
  be_nested_proto(
    3,                          /* nstack */
    1,                          /* argc */
    10,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    0,                          /* has sup protos */
    NULL,                       /* no sub protos */
    1,                          /* has constants */
    &be_ktab_class_FrameBuffer,     /* shared constants */
    be_str_weak(tohex),
    &be_const_str_solidified,
    ( &(const binstruction[ 4]) {  /* code */
      0x88040104,  //  0000  GETMBR	R1	R0	K4
      0x8C04030E,  //  0001  GETMET	R1	R1	K14
      0x7C040200,  //  0002  CALL	R1	1
      0x80040200,  //  0003  RET	1	R1
    })
  )
);
/*******************************************************************/


/********************************************************************
** Solidified function: tostring
********************************************************************/
be_local_closure(class_FrameBuffer_tostring,   /* name */
  be_nested_proto(
    5,                          /* nstack */
    1,                          /* argc */
    10,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    0,                          /* has sup protos */
    NULL,                       /* no sub protos */
    1,                          /* has constants */
    &be_ktab_class_FrameBuffer,     /* shared constants */
    be_str_weak(tostring),
    &be_const_str_solidified,
    ( &(const binstruction[ 6]) {  /* code */
      0x60040018,  //  0000  GETGBL	R1	G24
      0x5808000F,  //  0001  LDCONST	R2	K15
      0x880C0103,  //  0002  GETMBR	R3	R0	K3
      0x88100104,  //  0003  GETMBR	R4	R0	K4
      0x7C040600,  //  0004  CALL	R1	3
      0x80040200,  //  0005  RET	1	R1
    })
  )
);
/*******************************************************************/


/********************************************************************
** Solidified function: setitem
********************************************************************/
be_local_closure(class_FrameBuffer_setitem,   /* name */
  be_nested_proto(
    7,                          /* nstack */
    3,                          /* argc */
    10,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    0,                          /* has sup protos */
    NULL,                       /* no sub protos */
    1,                          /* has constants */
    &be_ktab_class_FrameBuffer,     /* shared constants */
    be_str_weak(setitem),
    &be_const_str_solidified,
    ( &(const binstruction[ 5]) {  /* code */
      0x8C0C0110,  //  0000  GETMET	R3	R0	K16
      0x5C140200,  //  0001  MOVE	R5	R1
      0x5C180400,  //  0002  MOVE	R6	R2
      0x7C0C0600,  //  0003  CALL	R3	3
      0x80000000,  //  0004  RET	0
    })
  )
);
/*******************************************************************/


/********************************************************************
** Solidified function: copy
********************************************************************/
be_local_closure(class_FrameBuffer_copy,   /* name */
  be_nested_proto(
    4,                          /* nstack */
    1,                          /* argc */
    10,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    0,                          /* has sup protos */
    NULL,                       /* no sub protos */
    1,                          /* has constants */
    &be_ktab_class_FrameBuffer,     /* shared constants */
    be_str_weak(copy),
    &be_const_str_solidified,
    ( &(const binstruction[ 5]) {  /* code */
      0xB8062200,  //  0000  GETNGBL	R1	K17
      0x8C040312,  //  0001  GETMET	R1	R1	K18
      0x5C0C0000,  //  0002  MOVE	R3	R0
      0x7C040400,  //  0003  CALL	R1	2
      0x80040200,  //  0004  RET	1	R1
    })
  )
);
/*******************************************************************/


/********************************************************************
** Solidified function: get_pixel_color
********************************************************************/
be_local_closure(class_FrameBuffer_get_pixel_color,   /* name */
  be_nested_proto(
    6,                          /* nstack */
    2,                          /* argc */
    10,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    0,                          /* has sup protos */
    NULL,                       /* no sub protos */
    1,                          /* has constants */
    &be_ktab_class_FrameBuffer,     /* shared constants */
    be_str_weak(get_pixel_color),
    &be_const_str_solidified,
    ( &(const binstruction[13]) {  /* code */
      0x14080300,  //  0000  LT	R2	R1	K0
      0x740A0002,  //  0001  JMPT	R2	#0005
      0x88080103,  //  0002  GETMBR	R2	R0	K3
      0x28080202,  //  0003  GE	R2	R1	R2
      0x780A0000,  //  0004  JMPF	R2	#0006
      0xB006170C,  //  0005  RAISE	1	K11	K12
      0x88080104,  //  0006  GETMBR	R2	R0	K4
      0x8C080513,  //  0007  GETMET	R2	R2	K19
      0x54120003,  //  0008  LDINT	R4	4
      0x08100204,  //  0009  MUL	R4	R1	R4
      0x54160003,  //  000A  LDINT	R5	4
      0x7C080600,  //  000B  CALL	R2	3
      0x80040400,  //  000C  RET	1	R2
    })
  )
);
/*******************************************************************/


/********************************************************************
** Solidified function: item
********************************************************************/
be_local_closure(class_FrameBuffer_item,   /* name */
  be_nested_proto(
    5,                          /* nstack */
    2,                          /* argc */
    10,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    0,                          /* has sup protos */
    NULL,                       /* no sub protos */
    1,                          /* has constants */
    &be_ktab_class_FrameBuffer,     /* shared constants */
    be_str_weak(item),
    &be_const_str_solidified,
    ( &(const binstruction[ 4]) {  /* code */
      0x8C080114,  //  0000  GETMET	R2	R0	K20
      0x5C100200,  //  0001  MOVE	R4	R1
      0x7C080400,  //  0002  CALL	R2	2
      0x80040400,  //  0003  RET	1	R2
    })
  )
);
/*******************************************************************/


/********************************************************************
** Solidified class: FrameBuffer
********************************************************************/
extern const bclass be_class_FrameBufferNtv;
be_local_class(FrameBuffer,
    2,
    &be_class_FrameBufferNtv,
    be_nested_map(12,
    ( (struct bmapnode*) &(const bmapnode[]) {
        { be_const_key_weak(pixels, -1), be_const_var(0) },
        { be_const_key_weak(resize, 6), be_const_closure(class_FrameBuffer_resize_closure) },
        { be_const_key_weak(clear, -1), be_const_closure(class_FrameBuffer_clear_closure) },
        { be_const_key_weak(init, -1), be_const_closure(class_FrameBuffer_init_closure) },
        { be_const_key_weak(set_pixel_color, -1), be_const_closure(class_FrameBuffer_set_pixel_color_closure) },
        { be_const_key_weak(tohex, -1), be_const_closure(class_FrameBuffer_tohex_closure) },
        { be_const_key_weak(tostring, -1), be_const_closure(class_FrameBuffer_tostring_closure) },
        { be_const_key_weak(copy, -1), be_const_closure(class_FrameBuffer_copy_closure) },
        { be_const_key_weak(setitem, 9), be_const_closure(class_FrameBuffer_setitem_closure) },
        { be_const_key_weak(get_pixel_color, 7), be_const_closure(class_FrameBuffer_get_pixel_color_closure) },
        { be_const_key_weak(item, -1), be_const_closure(class_FrameBuffer_item_closure) },
        { be_const_key_weak(width, -1), be_const_var(1) },
    })),
    be_str_weak(FrameBuffer)
);
// compact class 'AnimationEngine' ktab size: 90, total: 211 (saved 968 bytes)
static const bvalue be_ktab_class_AnimationEngine[90] = {
  /* K0   */  be_nested_str_weak(is_running),
  /* K1   */  be_nested_str_weak(fast_loop_closure),
  /* K2   */  be_nested_str_weak(tasmota),
  /* K3   */  be_nested_str_weak(remove_fast_loop),
  /* K4   */  be_nested_str_weak(root_animation),
  /* K5   */  be_nested_str_weak(get_animations),
  /* K6   */  be_nested_str_weak(push_iteration_context),
  /* K7   */  be_nested_str_weak(millis),
  /* K8   */  be_nested_str_weak(last_update),
  /* K9   */  be_nested_str_weak(tick_ms),
  /* K10  */  be_nested_str_weak(ts_start),
  /* K11  */  be_nested_str_weak(check_strip_length),
  /* K12  */  be_nested_str_weak(time_ms),
  /* K13  */  be_nested_str_weak(strip),
  /* K14  */  be_nested_str_weak(can_show),
  /* K15  */  be_nested_str_weak(_process_events),
  /* K16  */  be_nested_str_weak(_update_and_render),
  /* K17  */  be_nested_str_weak(ts_end),
  /* K18  */  be_nested_str_weak(_record_tick_metrics),
  /* K19  */  be_nested_str_weak(global),
  /* K20  */  be_nested_str_weak(debug_animation),
  /* K21  */  be_nested_str_weak(remove),
  /* K22  */  be_nested_str_weak(render_needed),
  /* K23  */  be_nested_str_weak(tick_count),
  /* K24  */  be_const_int(0),
  /* K25  */  be_nested_str_weak(tick_time_sum),
  /* K26  */  be_nested_str_weak(anim_time_sum),
  /* K27  */  be_nested_str_weak(hw_time_sum),
  /* K28  */  be_nested_str_weak(phase1_time_sum),
  /* K29  */  be_nested_str_weak(phase2_time_sum),
  /* K30  */  be_nested_str_weak(phase3_time_sum),
  /* K31  */  be_nested_str_weak(AnimEngine_X3A_X20ticks_X3D_X25s_X20total_X3D_X25_X2E2fms_X28_X25s_X2D_X25s_X29_X20events_X3D_X25_X2E2fms_X28_X25s_X2D_X25s_X29_X20update_X3D_X25_X2E2fms_X28_X25s_X2D_X25s_X29_X20anim_X3D_X25_X2E2fms_X28_X25s_X2D_X25s_X29_X20hw_X3D_X25_X2E2fms_X28_X25s_X2D_X25s_X29),
  /* K32  */  be_nested_str_weak(tick_time_min),
  /* K33  */  be_nested_str_weak(tick_time_max),
  /* K34  */  be_nested_str_weak(phase1_time_min),
  /* K35  */  be_nested_str_weak(phase1_time_max),
  /* K36  */  be_nested_str_weak(phase2_time_min),
  /* K37  */  be_nested_str_weak(phase2_time_max),
  /* K38  */  be_nested_str_weak(anim_time_min),
  /* K39  */  be_nested_str_weak(anim_time_max),
  /* K40  */  be_nested_str_weak(hw_time_min),
  /* K41  */  be_nested_str_weak(hw_time_max),
  /* K42  */  be_nested_str_weak(log),
  /* K43  */  be_const_int(3),
  /* K44  */  be_nested_str_weak(children),
  /* K45  */  be_nested_str_weak(animation),
  /* K46  */  be_nested_str_weak(id),
  /* K47  */  be_nested_str_weak(stop),
  /* K48  */  be_const_int(1),
  /* K49  */  be_nested_str_weak(push_pixels_buffer_argb),
  /* K50  */  be_nested_str_weak(frame_buffer),
  /* K51  */  be_nested_str_weak(pixels),
  /* K52  */  be_nested_str_weak(show),
  /* K53  */  be_nested_str_weak(sequences),
  /* K54  */  be_nested_str_weak(clear),
  /* K55  */  be_nested_str_weak(strip_length),
  /* K56  */  be_nested_str_weak(update_current_iteration),
  /* K57  */  be_nested_str_weak(event_manager),
  /* K58  */  be_nested_str_weak(_process_queued_events),
  /* K59  */  be_nested_str_weak(start),
  /* K60  */  be_nested_str_weak(ts_2),
  /* K61  */  be_nested_str_weak(ts_3),
  /* K62  */  be_nested_str_weak(ts_hw),
  /* K63  */  be_nested_str_weak(ts_1),
  /* K64  */  be_nested_str_weak(last_stats_time),
  /* K65  */  be_nested_str_weak(phase3_time_min),
  /* K66  */  be_nested_str_weak(phase3_time_max),
  /* K67  */  be_nested_str_weak(stats_period),
  /* K68  */  be_nested_str_weak(_print_stats),
  /* K69  */  be_const_int(999999),
  /* K70  */  be_nested_str_weak(AnimationEngine_X28running_X3D_X25s_X29),
  /* K71  */  be_nested_str_weak(add_fast_loop),
  /* K72  */  be_nested_str_weak(update),
  /* K73  */  be_nested_str_weak(is_empty),
  /* K74  */  be_nested_str_weak(_clear_strip),
  /* K75  */  be_nested_str_weak(render),
  /* K76  */  be_nested_str_weak(_output_to_strip),
  /* K77  */  be_nested_str_weak(temp_buffer),
  /* K78  */  be_nested_str_weak(length),
  /* K79  */  be_nested_str_weak(_handle_strip_length_change),
  /* K80  */  be_nested_str_weak(get_current_iteration_number),
  /* K81  */  be_nested_str_weak(size_animations),
  /* K82  */  be_nested_str_weak(set_timer),
  /* K83  */  be_nested_str_weak(add),
  /* K84  */  be_nested_str_weak(value_error),
  /* K85  */  be_nested_str_weak(strip_X20cannot_X20be_X20nil),
  /* K86  */  be_nested_str_weak(engine_proxy),
  /* K87  */  be_nested_str_weak(TICK_MS),
  /* K88  */  be_nested_str_weak(resize),
  /* K89  */  be_nested_str_weak(pop_iteration_context),
};


extern const bclass be_class_AnimationEngine;

/********************************************************************
** Solidified function: stop
********************************************************************/
be_local_closure(class_AnimationEngine_stop,   /* name */
  be_nested_proto(
    4,                          /* nstack */
    1,                          /* argc */
    10,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    0,                          /* has sup protos */
    NULL,                       /* no sub protos */
    1,                          /* has constants */
    &be_ktab_class_AnimationEngine,     /* shared constants */
    be_str_weak(stop),
    &be_const_str_solidified,
    ( &(const binstruction[13]) {  /* code */
      0x88040100,  //  0000  GETMBR	R1	R0	K0
      0x78060009,  //  0001  JMPF	R1	#000C
      0x50040000,  //  0002  LDBOOL	R1	0	0
      0x90020001,  //  0003  SETMBR	R0	K0	R1
      0x88040101,  //  0004  GETMBR	R1	R0	K1
      0x4C080000,  //  0005  LDNIL	R2
      0x20040202,  //  0006  NE	R1	R1	R2
      0x78060003,  //  0007  JMPF	R1	#000C
      0xB8060400,  //  0008  GETNGBL	R1	K2
      0x8C040303,  //  0009  GETMET	R1	R1	K3
      0x880C0101,  //  000A  GETMBR	R3	R0	K1
      0x7C040400,  //  000B  CALL	R1	2
      0x80040000,  //  000C  RET	1	R0
    })
  )
);
/*******************************************************************/


/********************************************************************
** Solidified function: get_animations
********************************************************************/
be_local_closure(class_AnimationEngine_get_animations,   /* name */
  be_nested_proto(
    3,                          /* nstack */
    1,                          /* argc */
    10,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    0,                          /* has sup protos */
    NULL,                       /* no sub protos */
    1,                          /* has constants */
    &be_ktab_class_AnimationEngine,     /* shared constants */
    be_str_weak(get_animations),
    &be_const_str_solidified,
    ( &(const binstruction[ 4]) {  /* code */
      0x88040104,  //  0000  GETMBR	R1	R0	K4
      0x8C040305,  //  0001  GETMET	R1	R1	K5
      0x7C040200,  //  0002  CALL	R1	1
      0x80040200,  //  0003  RET	1	R1
    })
  )
);
/*******************************************************************/


/********************************************************************
** Solidified function: push_iteration_context
********************************************************************/
be_local_closure(class_AnimationEngine_push_iteration_context,   /* name */
  be_nested_proto(
    5,                          /* nstack */
    2,                          /* argc */
    10,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    0,                          /* has sup protos */
    NULL,                       /* no sub protos */
    1,                          /* has constants */
    &be_ktab_class_AnimationEngine,     /* shared constants */
    be_str_weak(push_iteration_context),
    &be_const_str_solidified,
    ( &(const binstruction[ 5]) {  /* code */
      0x88080104,  //  0000  GETMBR	R2	R0	K4
      0x8C080506,  //  0001  GETMET	R2	R2	K6
      0x5C100200,  //  0002  MOVE	R4	R1
      0x7C080400,  //  0003  CALL	R2	2
      0x80040400,  //  0004  RET	1	R2
    })
  )
);
/*******************************************************************/


/********************************************************************
** Solidified function: animations
********************************************************************/
be_local_closure(class_AnimationEngine_animations,   /* name */
  be_nested_proto(
    3,                          /* nstack */
    1,                          /* argc */
    10,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    0,                          /* has sup protos */
    NULL,                       /* no sub protos */
    1,                          /* has constants */
    &be_ktab_class_AnimationEngine,     /* shared constants */
    be_str_weak(animations),
    &be_const_str_solidified,
    ( &(const binstruction[ 3]) {  /* code */
      0x8C040105,  //  0000  GETMET	R1	R0	K5
      0x7C040200,  //  0001  CALL	R1	1
      0x80040200,  //  0002  RET	1	R1
    })
  )
);
/*******************************************************************/


/********************************************************************
** Solidified function: on_tick
********************************************************************/
be_local_closure(class_AnimationEngine_on_tick,   /* name */
  be_nested_proto(
    6,                          /* nstack */
    2,                          /* argc */
    10,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    0,                          /* has sup protos */
    NULL,                       /* no sub protos */
    1,                          /* has constants */
    &be_ktab_class_AnimationEngine,     /* shared constants */
    be_str_weak(on_tick),
    &be_const_str_solidified,
    ( &(const binstruction[55]) {  /* code */
      0x88080100,  //  0000  GETMBR	R2	R0	K0
      0x740A0001,  //  0001  JMPT	R2	#0004
      0x50080000,  //  0002  LDBOOL	R2	0	0
      0x80040400,  //  0003  RET	1	R2
      0x4C080000,  //  0004  LDNIL	R2
      0x1C080202,  //  0005  EQ	R2	R1	R2
      0x780A0003,  //  0006  JMPF	R2	#000B
      0xB80A0400,  //  0007  GETNGBL	R2	K2
      0x8C080507,  //  0008  GETMET	R2	R2	K7
      0x7C080200,  //  0009  CALL	R2	1
      0x5C040400,  //  000A  MOVE	R1	R2
      0x88080108,  //  000B  GETMBR	R2	R0	K8
      0x04080202,  //  000C  SUB	R2	R1	R2
      0x880C0109,  //  000D  GETMBR	R3	R0	K9
      0x140C0403,  //  000E  LT	R3	R2	R3
      0x780E0001,  //  000F  JMPF	R3	#0012
      0x500C0200,  //  0010  LDBOOL	R3	1	0
      0x80040600,  //  0011  RET	1	R3
      0xB80E0400,  //  0012  GETNGBL	R3	K2
      0x8C0C0707,  //  0013  GETMET	R3	R3	K7
      0x7C0C0200,  //  0014  CALL	R3	1
      0x90021403,  //  0015  SETMBR	R0	K10	R3
      0x8C0C010B,  //  0016  GETMET	R3	R0	K11
      0x7C0C0200,  //  0017  CALL	R3	1
      0x90021801,  //  0018  SETMBR	R0	K12	R1
      0x90021001,  //  0019  SETMBR	R0	K8	R1
      0x880C010D,  //  001A  GETMBR	R3	R0	K13
      0x880C070E,  //  001B  GETMBR	R3	R3	K14
      0x4C100000,  //  001C  LDNIL	R4
      0x200C0604,  //  001D  NE	R3	R3	R4
      0x780E0005,  //  001E  JMPF	R3	#0025
      0x880C010D,  //  001F  GETMBR	R3	R0	K13
      0x8C0C070E,  //  0020  GETMET	R3	R3	K14
      0x7C0C0200,  //  0021  CALL	R3	1
      0x740E0001,  //  0022  JMPT	R3	#0025
      0x500C0200,  //  0023  LDBOOL	R3	1	0
      0x80040600,  //  0024  RET	1	R3
      0x8C0C010F,  //  0025  GETMET	R3	R0	K15
      0x5C140200,  //  0026  MOVE	R5	R1
      0x7C0C0400,  //  0027  CALL	R3	2
      0x8C0C0110,  //  0028  GETMET	R3	R0	K16
      0x5C140200,  //  0029  MOVE	R5	R1
      0x7C0C0400,  //  002A  CALL	R3	2
      0xB80E0400,  //  002B  GETNGBL	R3	K2
      0x8C0C0707,  //  002C  GETMET	R3	R3	K7
      0x7C0C0200,  //  002D  CALL	R3	1
      0x90022203,  //  002E  SETMBR	R0	K17	R3
      0x8C0C0112,  //  002F  GETMET	R3	R0	K18
      0x5C140200,  //  0030  MOVE	R5	R1
      0x7C0C0400,  //  0031  CALL	R3	2
      0xB80E2600,  //  0032  GETNGBL	R3	K19
      0x50100000,  //  0033  LDBOOL	R4	0	0
      0x900E2804,  //  0034  SETMBR	R3	K20	R4
      0x500C0200,  //  0035  LDBOOL	R3	1	0
      0x80040600,  //  0036  RET	1	R3
    })
  )
);
/*******************************************************************/


/********************************************************************
** Solidified function: remove
********************************************************************/
be_local_closure(class_AnimationEngine_remove,   /* name */
  be_nested_proto(
    5,                          /* nstack */
    2,                          /* argc */
    10,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    0,                          /* has sup protos */
    NULL,                       /* no sub protos */
    1,                          /* has constants */
    &be_ktab_class_AnimationEngine,     /* shared constants */
    be_str_weak(remove),
    &be_const_str_solidified,
    ( &(const binstruction[ 8]) {  /* code */
      0x88080104,  //  0000  GETMBR	R2	R0	K4
      0x8C080515,  //  0001  GETMET	R2	R2	K21
      0x5C100200,  //  0002  MOVE	R4	R1
      0x7C080400,  //  0003  CALL	R2	2
      0x780A0001,  //  0004  JMPF	R2	#0007
      0x500C0200,  //  0005  LDBOOL	R3	1	0
      0x90022C03,  //  0006  SETMBR	R0	K22	R3
      0x80040400,  //  0007  RET	1	R2
    })
  )
);
/*******************************************************************/


/********************************************************************
** Solidified function: _print_stats
********************************************************************/
be_local_closure(class_AnimationEngine__print_stats,   /* name */
  be_nested_proto(
    26,                          /* nstack */
    2,                          /* argc */
    10,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    0,                          /* has sup protos */
    NULL,                       /* no sub protos */
    1,                          /* has constants */
    &be_ktab_class_AnimationEngine,     /* shared constants */
    be_str_weak(_print_stats),
    &be_const_str_solidified,
    ( &(const binstruction[47]) {  /* code */
      0x88080117,  //  0000  GETMBR	R2	R0	K23
      0x1C080518,  //  0001  EQ	R2	R2	K24
      0x780A0000,  //  0002  JMPF	R2	#0004
      0x80000400,  //  0003  RET	0
      0x88080119,  //  0004  GETMBR	R2	R0	K25
      0x880C0117,  //  0005  GETMBR	R3	R0	K23
      0x0C080403,  //  0006  DIV	R2	R2	R3
      0x880C011A,  //  0007  GETMBR	R3	R0	K26
      0x88100117,  //  0008  GETMBR	R4	R0	K23
      0x0C0C0604,  //  0009  DIV	R3	R3	R4
      0x8810011B,  //  000A  GETMBR	R4	R0	K27
      0x88140117,  //  000B  GETMBR	R5	R0	K23
      0x0C100805,  //  000C  DIV	R4	R4	R5
      0x8814011C,  //  000D  GETMBR	R5	R0	K28
      0x88180117,  //  000E  GETMBR	R6	R0	K23
      0x0C140A06,  //  000F  DIV	R5	R5	R6
      0x8818011D,  //  0010  GETMBR	R6	R0	K29
      0x881C0117,  //  0011  GETMBR	R7	R0	K23
      0x0C180C07,  //  0012  DIV	R6	R6	R7
      0x881C011E,  //  0013  GETMBR	R7	R0	K30
      0x88200117,  //  0014  GETMBR	R8	R0	K23
      0x0C1C0E08,  //  0015  DIV	R7	R7	R8
      0x60200018,  //  0016  GETGBL	R8	G24
      0x5824001F,  //  0017  LDCONST	R9	K31
      0x88280117,  //  0018  GETMBR	R10	R0	K23
      0x5C2C0400,  //  0019  MOVE	R11	R2
      0x88300120,  //  001A  GETMBR	R12	R0	K32
      0x88340121,  //  001B  GETMBR	R13	R0	K33
      0x5C380A00,  //  001C  MOVE	R14	R5
      0x883C0122,  //  001D  GETMBR	R15	R0	K34
      0x88400123,  //  001E  GETMBR	R16	R0	K35
      0x5C440C00,  //  001F  MOVE	R17	R6
      0x88480124,  //  0020  GETMBR	R18	R0	K36
      0x884C0125,  //  0021  GETMBR	R19	R0	K37
      0x5C500600,  //  0022  MOVE	R20	R3
      0x88540126,  //  0023  GETMBR	R21	R0	K38
      0x88580127,  //  0024  GETMBR	R22	R0	K39
      0x5C5C0800,  //  0025  MOVE	R23	R4
      0x88600128,  //  0026  GETMBR	R24	R0	K40
      0x88640129,  //  0027  GETMBR	R25	R0	K41
      0x7C202200,  //  0028  CALL	R8	17
      0xB8260400,  //  0029  GETNGBL	R9	K2
      0x8C24132A,  //  002A  GETMET	R9	R9	K42
      0x5C2C1000,  //  002B  MOVE	R11	R8
      0x5830002B,  //  002C  LDCONST	R12	K43
      0x7C240600,  //  002D  CALL	R9	3
      0x80000000,  //  002E  RET	0
    })
  )
);
/*******************************************************************/


/********************************************************************
** Solidified function: interrupt_animation
********************************************************************/
be_local_closure(class_AnimationEngine_interrupt_animation,   /* name */
  be_nested_proto(
    7,                          /* nstack */
    2,                          /* argc */
    10,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    0,                          /* has sup protos */
    NULL,                       /* no sub protos */
    1,                          /* has constants */
    &be_ktab_class_AnimationEngine,     /* shared constants */
    be_str_weak(interrupt_animation),
    &be_const_str_solidified,
    ( &(const binstruction[30]) {  /* code */
      0x58080018,  //  0000  LDCONST	R2	K24
      0x600C000C,  //  0001  GETGBL	R3	G12
      0x88100104,  //  0002  GETMBR	R4	R0	K4
      0x8810092C,  //  0003  GETMBR	R4	R4	K44
      0x7C0C0200,  //  0004  CALL	R3	1
      0x140C0403,  //  0005  LT	R3	R2	R3
      0x780E0015,  //  0006  JMPF	R3	#001D
      0x880C0104,  //  0007  GETMBR	R3	R0	K4
      0x880C072C,  //  0008  GETMBR	R3	R3	K44
      0x940C0602,  //  0009  GETIDX	R3	R3	R2
      0x6010000F,  //  000A  GETGBL	R4	G15
      0x5C140600,  //  000B  MOVE	R5	R3
      0xB81A5A00,  //  000C  GETNGBL	R6	K45
      0x88180D2D,  //  000D  GETMBR	R6	R6	K45
      0x7C100400,  //  000E  CALL	R4	2
      0x7812000A,  //  000F  JMPF	R4	#001B
      0x8810072E,  //  0010  GETMBR	R4	R3	K46
      0x1C100801,  //  0011  EQ	R4	R4	R1
      0x78120007,  //  0012  JMPF	R4	#001B
      0x8C10072F,  //  0013  GETMET	R4	R3	K47
      0x7C100200,  //  0014  CALL	R4	1
      0x88100104,  //  0015  GETMBR	R4	R0	K4
      0x8810092C,  //  0016  GETMBR	R4	R4	K44
      0x8C100915,  //  0017  GETMET	R4	R4	K21
      0x5C180400,  //  0018  MOVE	R6	R2
      0x7C100400,  //  0019  CALL	R4	2
      0x80000800,  //  001A  RET	0
      0x00080530,  //  001B  ADD	R2	R2	K48
      0x7001FFE3,  //  001C  JMP		#0001
      0x80000000,  //  001D  RET	0
    })
  )
);
/*******************************************************************/


/********************************************************************
** Solidified function: _output_to_strip
********************************************************************/
be_local_closure(class_AnimationEngine__output_to_strip,   /* name */
  be_nested_proto(
    4,                          /* nstack */
    1,                          /* argc */
    10,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    0,                          /* has sup protos */
    NULL,                       /* no sub protos */
    1,                          /* has constants */
    &be_ktab_class_AnimationEngine,     /* shared constants */
    be_str_weak(_output_to_strip),
    &be_const_str_solidified,
    ( &(const binstruction[ 9]) {  /* code */
      0x8804010D,  //  0000  GETMBR	R1	R0	K13
      0x8C040331,  //  0001  GETMET	R1	R1	K49
      0x880C0132,  //  0002  GETMBR	R3	R0	K50
      0x880C0733,  //  0003  GETMBR	R3	R3	K51
      0x7C040400,  //  0004  CALL	R1	2
      0x8804010D,  //  0005  GETMBR	R1	R0	K13
      0x8C040334,  //  0006  GETMET	R1	R1	K52
      0x7C040200,  //  0007  CALL	R1	1
      0x80000000,  //  0008  RET	0
    })
  )
);
/*******************************************************************/


/********************************************************************
** Solidified function: sequence_managers
********************************************************************/
be_local_closure(class_AnimationEngine_sequence_managers,   /* name */
  be_nested_proto(
    2,                          /* nstack */
    1,                          /* argc */
    10,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    0,                          /* has sup protos */
    NULL,                       /* no sub protos */
    1,                          /* has constants */
    &be_ktab_class_AnimationEngine,     /* shared constants */
    be_str_weak(sequence_managers),
    &be_const_str_solidified,
    ( &(const binstruction[ 3]) {  /* code */
      0x88040104,  //  0000  GETMBR	R1	R0	K4
      0x88040335,  //  0001  GETMBR	R1	R1	K53
      0x80040200,  //  0002  RET	1	R1
    })
  )
);
/*******************************************************************/


/********************************************************************
** Solidified function: clear
********************************************************************/
be_local_closure(class_AnimationEngine_clear,   /* name */
  be_nested_proto(
    3,                          /* nstack */
    1,                          /* argc */
    10,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    0,                          /* has sup protos */
    NULL,                       /* no sub protos */
    1,                          /* has constants */
    &be_ktab_class_AnimationEngine,     /* shared constants */
    be_str_weak(clear),
    &be_const_str_solidified,
    ( &(const binstruction[ 6]) {  /* code */
      0x88040104,  //  0000  GETMBR	R1	R0	K4
      0x8C040336,  //  0001  GETMET	R1	R1	K54
      0x7C040200,  //  0002  CALL	R1	1
      0x50040200,  //  0003  LDBOOL	R1	1	0
      0x90022C01,  //  0004  SETMBR	R0	K22	R1
      0x80040000,  //  0005  RET	1	R0
    })
  )
);
/*******************************************************************/


/********************************************************************
** Solidified function: get_strip_length
********************************************************************/
be_local_closure(class_AnimationEngine_get_strip_length,   /* name */
  be_nested_proto(
    2,                          /* nstack */
    1,                          /* argc */
    10,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    0,                          /* has sup protos */
    NULL,                       /* no sub protos */
    1,                          /* has constants */
    &be_ktab_class_AnimationEngine,     /* shared constants */
    be_str_weak(get_strip_length),
    &be_const_str_solidified,
    ( &(const binstruction[ 2]) {  /* code */
      0x88040137,  //  0000  GETMBR	R1	R0	K55
      0x80040200,  //  0001  RET	1	R1
    })
  )
);
/*******************************************************************/


/********************************************************************
** Solidified function: update_current_iteration
********************************************************************/
be_local_closure(class_AnimationEngine_update_current_iteration,   /* name */
  be_nested_proto(
    5,                          /* nstack */
    2,                          /* argc */
    10,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    0,                          /* has sup protos */
    NULL,                       /* no sub protos */
    1,                          /* has constants */
    &be_ktab_class_AnimationEngine,     /* shared constants */
    be_str_weak(update_current_iteration),
    &be_const_str_solidified,
    ( &(const binstruction[ 5]) {  /* code */
      0x88080104,  //  0000  GETMBR	R2	R0	K4
      0x8C080538,  //  0001  GETMET	R2	R2	K56
      0x5C100200,  //  0002  MOVE	R4	R1
      0x7C080400,  //  0003  CALL	R2	2
      0x80040400,  //  0004  RET	1	R2
    })
  )
);
/*******************************************************************/


/********************************************************************
** Solidified function: _process_events
********************************************************************/
be_local_closure(class_AnimationEngine__process_events,   /* name */
  be_nested_proto(
    4,                          /* nstack */
    2,                          /* argc */
    10,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    0,                          /* has sup protos */
    NULL,                       /* no sub protos */
    1,                          /* has constants */
    &be_ktab_class_AnimationEngine,     /* shared constants */
    be_str_weak(_process_events),
    &be_const_str_solidified,
    ( &(const binstruction[10]) {  /* code */
      0xB80A5A00,  //  0000  GETNGBL	R2	K45
      0x88080539,  //  0001  GETMBR	R2	R2	K57
      0x4C0C0000,  //  0002  LDNIL	R3
      0x20080403,  //  0003  NE	R2	R2	R3
      0x780A0003,  //  0004  JMPF	R2	#0009
      0xB80A5A00,  //  0005  GETNGBL	R2	K45
      0x88080539,  //  0006  GETMBR	R2	R2	K57
      0x8C08053A,  //  0007  GETMET	R2	R2	K58
      0x7C080200,  //  0008  CALL	R2	1
      0x80000000,  //  0009  RET	0
    })
  )
);
/*******************************************************************/


/********************************************************************
** Solidified function: resume
********************************************************************/
be_local_closure(class_AnimationEngine_resume,   /* name */
  be_nested_proto(
    3,                          /* nstack */
    1,                          /* argc */
    10,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    0,                          /* has sup protos */
    NULL,                       /* no sub protos */
    1,                          /* has constants */
    &be_ktab_class_AnimationEngine,     /* shared constants */
    be_str_weak(resume),
    &be_const_str_solidified,
    ( &(const binstruction[ 5]) {  /* code */
      0x88040100,  //  0000  GETMBR	R1	R0	K0
      0x74060001,  //  0001  JMPT	R1	#0004
      0x8C04013B,  //  0002  GETMET	R1	R0	K59
      0x7C040200,  //  0003  CALL	R1	1
      0x80000000,  //  0004  RET	0
    })
  )
);
/*******************************************************************/


/********************************************************************
** Solidified function: _record_tick_metrics
********************************************************************/
be_local_closure(class_AnimationEngine__record_tick_metrics,   /* name */
  be_nested_proto(
    12,                          /* nstack */
    2,                          /* argc */
    10,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    0,                          /* has sup protos */
    NULL,                       /* no sub protos */
    1,                          /* has constants */
    &be_ktab_class_AnimationEngine,     /* shared constants */
    be_str_weak(_record_tick_metrics),
    &be_const_str_solidified,
    ( &(const binstruction[198]) {  /* code */
      0x4C080000,  //  0000  LDNIL	R2
      0x4C0C0000,  //  0001  LDNIL	R3
      0x4C100000,  //  0002  LDNIL	R4
      0x4C140000,  //  0003  LDNIL	R5
      0x4C180000,  //  0004  LDNIL	R6
      0x4C1C0000,  //  0005  LDNIL	R7
      0x8820010A,  //  0006  GETMBR	R8	R0	K10
      0x4C240000,  //  0007  LDNIL	R9
      0x20201009,  //  0008  NE	R8	R8	R9
      0x78220007,  //  0009  JMPF	R8	#0012
      0x88200111,  //  000A  GETMBR	R8	R0	K17
      0x4C240000,  //  000B  LDNIL	R9
      0x20201009,  //  000C  NE	R8	R8	R9
      0x78220003,  //  000D  JMPF	R8	#0012
      0x88200111,  //  000E  GETMBR	R8	R0	K17
      0x8824010A,  //  000F  GETMBR	R9	R0	K10
      0x04201009,  //  0010  SUB	R8	R8	R9
      0x5C081000,  //  0011  MOVE	R2	R8
      0x8820013C,  //  0012  GETMBR	R8	R0	K60
      0x4C240000,  //  0013  LDNIL	R9
      0x20201009,  //  0014  NE	R8	R8	R9
      0x78220007,  //  0015  JMPF	R8	#001E
      0x8820013D,  //  0016  GETMBR	R8	R0	K61
      0x4C240000,  //  0017  LDNIL	R9
      0x20201009,  //  0018  NE	R8	R8	R9
      0x78220003,  //  0019  JMPF	R8	#001E
      0x8820013D,  //  001A  GETMBR	R8	R0	K61
      0x8824013C,  //  001B  GETMBR	R9	R0	K60
      0x04201009,  //  001C  SUB	R8	R8	R9
      0x5C0C1000,  //  001D  MOVE	R3	R8
      0x8820013D,  //  001E  GETMBR	R8	R0	K61
      0x4C240000,  //  001F  LDNIL	R9
      0x20201009,  //  0020  NE	R8	R8	R9
      0x78220007,  //  0021  JMPF	R8	#002A
      0x8820013E,  //  0022  GETMBR	R8	R0	K62
      0x4C240000,  //  0023  LDNIL	R9
      0x20201009,  //  0024  NE	R8	R8	R9
      0x78220003,  //  0025  JMPF	R8	#002A
      0x8820013E,  //  0026  GETMBR	R8	R0	K62
      0x8824013D,  //  0027  GETMBR	R9	R0	K61
      0x04201009,  //  0028  SUB	R8	R8	R9
      0x5C101000,  //  0029  MOVE	R4	R8
      0x8820010A,  //  002A  GETMBR	R8	R0	K10
      0x4C240000,  //  002B  LDNIL	R9
      0x20201009,  //  002C  NE	R8	R8	R9
      0x78220007,  //  002D  JMPF	R8	#0036
      0x8820013F,  //  002E  GETMBR	R8	R0	K63
      0x4C240000,  //  002F  LDNIL	R9
      0x20201009,  //  0030  NE	R8	R8	R9
      0x78220003,  //  0031  JMPF	R8	#0036
      0x8820013F,  //  0032  GETMBR	R8	R0	K63
      0x8824010A,  //  0033  GETMBR	R9	R0	K10
      0x04201009,  //  0034  SUB	R8	R8	R9
      0x5C141000,  //  0035  MOVE	R5	R8
      0x8820013F,  //  0036  GETMBR	R8	R0	K63
      0x4C240000,  //  0037  LDNIL	R9
      0x20201009,  //  0038  NE	R8	R8	R9
      0x78220007,  //  0039  JMPF	R8	#0042
      0x8820013C,  //  003A  GETMBR	R8	R0	K60
      0x4C240000,  //  003B  LDNIL	R9
      0x20201009,  //  003C  NE	R8	R8	R9
      0x78220003,  //  003D  JMPF	R8	#0042
      0x8820013C,  //  003E  GETMBR	R8	R0	K60
      0x8824013F,  //  003F  GETMBR	R9	R0	K63
      0x04201009,  //  0040  SUB	R8	R8	R9
      0x5C181000,  //  0041  MOVE	R6	R8
      0x8820013C,  //  0042  GETMBR	R8	R0	K60
      0x4C240000,  //  0043  LDNIL	R9
      0x20201009,  //  0044  NE	R8	R8	R9
      0x78220007,  //  0045  JMPF	R8	#004E
      0x8820013D,  //  0046  GETMBR	R8	R0	K61
      0x4C240000,  //  0047  LDNIL	R9
      0x20201009,  //  0048  NE	R8	R8	R9
      0x78220003,  //  0049  JMPF	R8	#004E
      0x8820013D,  //  004A  GETMBR	R8	R0	K61
      0x8824013C,  //  004B  GETMBR	R9	R0	K60
      0x04201009,  //  004C  SUB	R8	R8	R9
      0x5C1C1000,  //  004D  MOVE	R7	R8
      0x88200140,  //  004E  GETMBR	R8	R0	K64
      0x1C201118,  //  004F  EQ	R8	R8	K24
      0x78220000,  //  0050  JMPF	R8	#0052
      0x90028001,  //  0051  SETMBR	R0	K64	R1
      0x88200117,  //  0052  GETMBR	R8	R0	K23
      0x00201130,  //  0053  ADD	R8	R8	K48
      0x90022E08,  //  0054  SETMBR	R0	K23	R8
      0x4C200000,  //  0055  LDNIL	R8
      0x20200408,  //  0056  NE	R8	R2	R8
      0x7822000A,  //  0057  JMPF	R8	#0063
      0x88200119,  //  0058  GETMBR	R8	R0	K25
      0x00201002,  //  0059  ADD	R8	R8	R2
      0x90023208,  //  005A  SETMBR	R0	K25	R8
      0x88200120,  //  005B  GETMBR	R8	R0	K32
      0x14200408,  //  005C  LT	R8	R2	R8
      0x78220000,  //  005D  JMPF	R8	#005F
      0x90024002,  //  005E  SETMBR	R0	K32	R2
      0x88200121,  //  005F  GETMBR	R8	R0	K33
      0x24200408,  //  0060  GT	R8	R2	R8
      0x78220000,  //  0061  JMPF	R8	#0063
      0x90024202,  //  0062  SETMBR	R0	K33	R2
      0x4C200000,  //  0063  LDNIL	R8
      0x20200608,  //  0064  NE	R8	R3	R8
      0x7822000A,  //  0065  JMPF	R8	#0071
      0x8820011A,  //  0066  GETMBR	R8	R0	K26
      0x00201003,  //  0067  ADD	R8	R8	R3
      0x90023408,  //  0068  SETMBR	R0	K26	R8
      0x88200126,  //  0069  GETMBR	R8	R0	K38
      0x14200608,  //  006A  LT	R8	R3	R8
      0x78220000,  //  006B  JMPF	R8	#006D
      0x90024C03,  //  006C  SETMBR	R0	K38	R3
      0x88200127,  //  006D  GETMBR	R8	R0	K39
      0x24200608,  //  006E  GT	R8	R3	R8
      0x78220000,  //  006F  JMPF	R8	#0071
      0x90024E03,  //  0070  SETMBR	R0	K39	R3
      0x4C200000,  //  0071  LDNIL	R8
      0x20200808,  //  0072  NE	R8	R4	R8
      0x7822000A,  //  0073  JMPF	R8	#007F
      0x8820011B,  //  0074  GETMBR	R8	R0	K27
      0x00201004,  //  0075  ADD	R8	R8	R4
      0x90023608,  //  0076  SETMBR	R0	K27	R8
      0x88200128,  //  0077  GETMBR	R8	R0	K40
      0x14200808,  //  0078  LT	R8	R4	R8
      0x78220000,  //  0079  JMPF	R8	#007B
      0x90025004,  //  007A  SETMBR	R0	K40	R4
      0x88200129,  //  007B  GETMBR	R8	R0	K41
      0x24200808,  //  007C  GT	R8	R4	R8
      0x78220000,  //  007D  JMPF	R8	#007F
      0x90025204,  //  007E  SETMBR	R0	K41	R4
      0x4C200000,  //  007F  LDNIL	R8
      0x20200A08,  //  0080  NE	R8	R5	R8
      0x7822000A,  //  0081  JMPF	R8	#008D
      0x8820011C,  //  0082  GETMBR	R8	R0	K28
      0x00201005,  //  0083  ADD	R8	R8	R5
      0x90023808,  //  0084  SETMBR	R0	K28	R8
      0x88200122,  //  0085  GETMBR	R8	R0	K34
      0x14200A08,  //  0086  LT	R8	R5	R8
      0x78220000,  //  0087  JMPF	R8	#0089
      0x90024405,  //  0088  SETMBR	R0	K34	R5
      0x88200123,  //  0089  GETMBR	R8	R0	K35
      0x24200A08,  //  008A  GT	R8	R5	R8
      0x78220000,  //  008B  JMPF	R8	#008D
      0x90024605,  //  008C  SETMBR	R0	K35	R5
      0x4C200000,  //  008D  LDNIL	R8
      0x20200C08,  //  008E  NE	R8	R6	R8
      0x7822000A,  //  008F  JMPF	R8	#009B
      0x8820011D,  //  0090  GETMBR	R8	R0	K29
      0x00201006,  //  0091  ADD	R8	R8	R6
      0x90023A08,  //  0092  SETMBR	R0	K29	R8
      0x88200124,  //  0093  GETMBR	R8	R0	K36
      0x14200C08,  //  0094  LT	R8	R6	R8
      0x78220000,  //  0095  JMPF	R8	#0097
      0x90024806,  //  0096  SETMBR	R0	K36	R6
      0x88200125,  //  0097  GETMBR	R8	R0	K37
      0x24200C08,  //  0098  GT	R8	R6	R8
      0x78220000,  //  0099  JMPF	R8	#009B
      0x90024A06,  //  009A  SETMBR	R0	K37	R6
      0x4C200000,  //  009B  LDNIL	R8
      0x20200E08,  //  009C  NE	R8	R7	R8
      0x7822000A,  //  009D  JMPF	R8	#00A9
      0x8820011E,  //  009E  GETMBR	R8	R0	K30
      0x00201007,  //  009F  ADD	R8	R8	R7
      0x90023C08,  //  00A0  SETMBR	R0	K30	R8
      0x88200141,  //  00A1  GETMBR	R8	R0	K65
      0x14200E08,  //  00A2  LT	R8	R7	R8
      0x78220000,  //  00A3  JMPF	R8	#00A5
      0x90028207,  //  00A4  SETMBR	R0	K65	R7
      0x88200142,  //  00A5  GETMBR	R8	R0	K66
      0x24200E08,  //  00A6  GT	R8	R7	R8
      0x78220000,  //  00A7  JMPF	R8	#00A9
      0x90028407,  //  00A8  SETMBR	R0	K66	R7
      0x88200140,  //  00A9  GETMBR	R8	R0	K64
      0x04200208,  //  00AA  SUB	R8	R1	R8
      0x88240143,  //  00AB  GETMBR	R9	R0	K67
      0x28241009,  //  00AC  GE	R9	R8	R9
      0x78260016,  //  00AD  JMPF	R9	#00C5
      0x8C240144,  //  00AE  GETMET	R9	R0	K68
      0x5C2C1000,  //  00AF  MOVE	R11	R8
      0x7C240400,  //  00B0  CALL	R9	2
      0x90022F18,  //  00B1  SETMBR	R0	K23	K24
      0x90023318,  //  00B2  SETMBR	R0	K25	K24
      0x90024145,  //  00B3  SETMBR	R0	K32	K69
      0x90024318,  //  00B4  SETMBR	R0	K33	K24
      0x90023518,  //  00B5  SETMBR	R0	K26	K24
      0x90024D45,  //  00B6  SETMBR	R0	K38	K69
      0x90024F18,  //  00B7  SETMBR	R0	K39	K24
      0x90023718,  //  00B8  SETMBR	R0	K27	K24
      0x90025145,  //  00B9  SETMBR	R0	K40	K69
      0x90025318,  //  00BA  SETMBR	R0	K41	K24
      0x90023918,  //  00BB  SETMBR	R0	K28	K24
      0x90024545,  //  00BC  SETMBR	R0	K34	K69
      0x90024718,  //  00BD  SETMBR	R0	K35	K24
      0x90023B18,  //  00BE  SETMBR	R0	K29	K24
      0x90024945,  //  00BF  SETMBR	R0	K36	K69
      0x90024B18,  //  00C0  SETMBR	R0	K37	K24
      0x90023D18,  //  00C1  SETMBR	R0	K30	K24
      0x90028345,  //  00C2  SETMBR	R0	K65	K69
      0x90028518,  //  00C3  SETMBR	R0	K66	K24
      0x90028001,  //  00C4  SETMBR	R0	K64	R1
      0x80000000,  //  00C5  RET	0
    })
  )
);
/*******************************************************************/


/********************************************************************
** Solidified function: is_active
********************************************************************/
be_local_closure(class_AnimationEngine_is_active,   /* name */
  be_nested_proto(
    2,                          /* nstack */
    1,                          /* argc */
    10,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    0,                          /* has sup protos */
    NULL,                       /* no sub protos */
    1,                          /* has constants */
    &be_ktab_class_AnimationEngine,     /* shared constants */
    be_str_weak(is_active),
    &be_const_str_solidified,
    ( &(const binstruction[ 2]) {  /* code */
      0x88040100,  //  0000  GETMBR	R1	R0	K0
      0x80040200,  //  0001  RET	1	R1
    })
  )
);
/*******************************************************************/


/********************************************************************
** Solidified function: tostring
********************************************************************/
be_local_closure(class_AnimationEngine_tostring,   /* name */
  be_nested_proto(
    4,                          /* nstack */
    1,                          /* argc */
    10,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    0,                          /* has sup protos */
    NULL,                       /* no sub protos */
    1,                          /* has constants */
    &be_ktab_class_AnimationEngine,     /* shared constants */
    be_str_weak(tostring),
    &be_const_str_solidified,
    ( &(const binstruction[ 5]) {  /* code */
      0x60040018,  //  0000  GETGBL	R1	G24
      0x58080046,  //  0001  LDCONST	R2	K70
      0x880C0100,  //  0002  GETMBR	R3	R0	K0
      0x7C040400,  //  0003  CALL	R1	2
      0x80040200,  //  0004  RET	1	R1
    })
  )
);
/*******************************************************************/


/********************************************************************
** Solidified function: run
********************************************************************/
be_local_closure(class_AnimationEngine_run,   /* name */
  be_nested_proto(
    5,                          /* nstack */
    1,                          /* argc */
    10,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    1,                          /* has sup protos */
    ( &(const struct bproto*[ 1]) {
      be_nested_proto(
        2,                          /* nstack */
        0,                          /* argc */
        0,                          /* varg */
        1,                          /* has upvals */
        ( &(const bupvaldesc[ 1]) {  /* upvals */
          be_local_const_upval(1, 0),
        }),
        0,                          /* has sup protos */
        NULL,                       /* no sub protos */
        1,                          /* has constants */
        ( &(const bvalue[ 1]) {     /* constants */
        /* K0   */  be_nested_str_weak(on_tick),
        }),
        be_str_weak(_X3Clambda_X3E),
        &be_const_str_solidified,
        ( &(const binstruction[ 4]) {  /* code */
          0x68000000,  //  0000  GETUPV	R0	U0
          0x8C000100,  //  0001  GETMET	R0	R0	K0
          0x7C000200,  //  0002  CALL	R0	1
          0x80040000,  //  0003  RET	1	R0
        })
      ),
    }),
    1,                          /* has constants */
    &be_ktab_class_AnimationEngine,     /* shared constants */
    be_str_weak(run),
    &be_const_str_solidified,
    ( &(const binstruction[26]) {  /* code */
      0x88040100,  //  0000  GETMBR	R1	R0	K0
      0x74060015,  //  0001  JMPT	R1	#0018
      0xB8060400,  //  0002  GETNGBL	R1	K2
      0x8C040307,  //  0003  GETMET	R1	R1	K7
      0x7C040200,  //  0004  CALL	R1	1
      0x50080200,  //  0005  LDBOOL	R2	1	0
      0x90020002,  //  0006  SETMBR	R0	K0	R2
      0x540A0009,  //  0007  LDINT	R2	10
      0x04080202,  //  0008  SUB	R2	R1	R2
      0x90021002,  //  0009  SETMBR	R0	K8	R2
      0x88080101,  //  000A  GETMBR	R2	R0	K1
      0x4C0C0000,  //  000B  LDNIL	R3
      0x1C080403,  //  000C  EQ	R2	R2	R3
      0x780A0001,  //  000D  JMPF	R2	#0010
      0x84080000,  //  000E  CLOSURE	R2	P0
      0x90020202,  //  000F  SETMBR	R0	K1	R2
      0x88080104,  //  0010  GETMBR	R2	R0	K4
      0x8C08053B,  //  0011  GETMET	R2	R2	K59
      0x5C100200,  //  0012  MOVE	R4	R1
      0x7C080400,  //  0013  CALL	R2	2
      0xB80A0400,  //  0014  GETNGBL	R2	K2
      0x8C080547,  //  0015  GETMET	R2	R2	K71
      0x88100101,  //  0016  GETMBR	R4	R0	K1
      0x7C080400,  //  0017  CALL	R2	2
      0xA0000000,  //  0018  CLOSE	R0
      0x80040000,  //  0019  RET	1	R0
    })
  )
);
/*******************************************************************/


/********************************************************************
** Solidified function: _update_and_render
********************************************************************/
be_local_closure(class_AnimationEngine__update_and_render,   /* name */
  be_nested_proto(
    6,                          /* nstack */
    2,                          /* argc */
    10,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    0,                          /* has sup protos */
    NULL,                       /* no sub protos */
    1,                          /* has constants */
    &be_ktab_class_AnimationEngine,     /* shared constants */
    be_str_weak(_update_and_render),
    &be_const_str_solidified,
    ( &(const binstruction[44]) {  /* code */
      0xB80A0400,  //  0000  GETNGBL	R2	K2
      0x8C080507,  //  0001  GETMET	R2	R2	K7
      0x7C080200,  //  0002  CALL	R2	1
      0x90027E02,  //  0003  SETMBR	R0	K63	R2
      0x88080104,  //  0004  GETMBR	R2	R0	K4
      0x8C080548,  //  0005  GETMET	R2	R2	K72
      0x5C100200,  //  0006  MOVE	R4	R1
      0x7C080400,  //  0007  CALL	R2	2
      0xB80A0400,  //  0008  GETNGBL	R2	K2
      0x8C080507,  //  0009  GETMET	R2	R2	K7
      0x7C080200,  //  000A  CALL	R2	1
      0x90027802,  //  000B  SETMBR	R0	K60	R2
      0x88080104,  //  000C  GETMBR	R2	R0	K4
      0x8C080549,  //  000D  GETMET	R2	R2	K73
      0x7C080200,  //  000E  CALL	R2	1
      0x780A0006,  //  000F  JMPF	R2	#0017
      0x88080116,  //  0010  GETMBR	R2	R0	K22
      0x780A0003,  //  0011  JMPF	R2	#0016
      0x8C08014A,  //  0012  GETMET	R2	R0	K74
      0x7C080200,  //  0013  CALL	R2	1
      0x50080000,  //  0014  LDBOOL	R2	0	0
      0x90022C02,  //  0015  SETMBR	R0	K22	R2
      0x80000400,  //  0016  RET	0
      0x88080132,  //  0017  GETMBR	R2	R0	K50
      0x8C080536,  //  0018  GETMET	R2	R2	K54
      0x7C080200,  //  0019  CALL	R2	1
      0x88080104,  //  001A  GETMBR	R2	R0	K4
      0x8C08054B,  //  001B  GETMET	R2	R2	K75
      0x88100132,  //  001C  GETMBR	R4	R0	K50
      0x5C140200,  //  001D  MOVE	R5	R1
      0x7C080600,  //  001E  CALL	R2	3
      0xB80E0400,  //  001F  GETNGBL	R3	K2
      0x8C0C0707,  //  0020  GETMET	R3	R3	K7
      0x7C0C0200,  //  0021  CALL	R3	1
      0x90027A03,  //  0022  SETMBR	R0	K61	R3
      0x8C0C014C,  //  0023  GETMET	R3	R0	K76
      0x7C0C0200,  //  0024  CALL	R3	1
      0xB80E0400,  //  0025  GETNGBL	R3	K2
      0x8C0C0707,  //  0026  GETMET	R3	R3	K7
      0x7C0C0200,  //  0027  CALL	R3	1
      0x90027C03,  //  0028  SETMBR	R0	K62	R3
      0x500C0000,  //  0029  LDBOOL	R3	0	0
      0x90022C03,  //  002A  SETMBR	R0	K22	R3
      0x80000000,  //  002B  RET	0
    })
  )
);
/*******************************************************************/


/********************************************************************
** Solidified function: cleanup
********************************************************************/
be_local_closure(class_AnimationEngine_cleanup,   /* name */
  be_nested_proto(
    3,                          /* nstack */
    1,                          /* argc */
    10,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    0,                          /* has sup protos */
    NULL,                       /* no sub protos */
    1,                          /* has constants */
    &be_ktab_class_AnimationEngine,     /* shared constants */
    be_str_weak(cleanup),
    &be_const_str_solidified,
    ( &(const binstruction[11]) {  /* code */
      0x8C04012F,  //  0000  GETMET	R1	R0	K47
      0x7C040200,  //  0001  CALL	R1	1
      0x8C040136,  //  0002  GETMET	R1	R0	K54
      0x7C040200,  //  0003  CALL	R1	1
      0x4C040000,  //  0004  LDNIL	R1
      0x90026401,  //  0005  SETMBR	R0	K50	R1
      0x4C040000,  //  0006  LDNIL	R1
      0x90029A01,  //  0007  SETMBR	R0	K77	R1
      0x4C040000,  //  0008  LDNIL	R1
      0x90021A01,  //  0009  SETMBR	R0	K13	R1
      0x80000000,  //  000A  RET	0
    })
  )
);
/*******************************************************************/


/********************************************************************
** Solidified function: get_strip
********************************************************************/
be_local_closure(class_AnimationEngine_get_strip,   /* name */
  be_nested_proto(
    2,                          /* nstack */
    1,                          /* argc */
    10,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    0,                          /* has sup protos */
    NULL,                       /* no sub protos */
    1,                          /* has constants */
    &be_ktab_class_AnimationEngine,     /* shared constants */
    be_str_weak(get_strip),
    &be_const_str_solidified,
    ( &(const binstruction[ 2]) {  /* code */
      0x8804010D,  //  0000  GETMBR	R1	R0	K13
      0x80040200,  //  0001  RET	1	R1
    })
  )
);
/*******************************************************************/


/********************************************************************
** Solidified function: interrupt_current
********************************************************************/
be_local_closure(class_AnimationEngine_interrupt_current,   /* name */
  be_nested_proto(
    3,                          /* nstack */
    1,                          /* argc */
    10,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    0,                          /* has sup protos */
    NULL,                       /* no sub protos */
    1,                          /* has constants */
    &be_ktab_class_AnimationEngine,     /* shared constants */
    be_str_weak(interrupt_current),
    &be_const_str_solidified,
    ( &(const binstruction[ 4]) {  /* code */
      0x88040104,  //  0000  GETMBR	R1	R0	K4
      0x8C04032F,  //  0001  GETMET	R1	R1	K47
      0x7C040200,  //  0002  CALL	R1	1
      0x80000000,  //  0003  RET	0
    })
  )
);
/*******************************************************************/


/********************************************************************
** Solidified function: check_strip_length
********************************************************************/
be_local_closure(class_AnimationEngine_check_strip_length,   /* name */
  be_nested_proto(
    5,                          /* nstack */
    1,                          /* argc */
    10,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    0,                          /* has sup protos */
    NULL,                       /* no sub protos */
    1,                          /* has constants */
    &be_ktab_class_AnimationEngine,     /* shared constants */
    be_str_weak(check_strip_length),
    &be_const_str_solidified,
    ( &(const binstruction[13]) {  /* code */
      0x8804010D,  //  0000  GETMBR	R1	R0	K13
      0x8C04034E,  //  0001  GETMET	R1	R1	K78
      0x7C040200,  //  0002  CALL	R1	1
      0x88080137,  //  0003  GETMBR	R2	R0	K55
      0x20080202,  //  0004  NE	R2	R1	R2
      0x780A0004,  //  0005  JMPF	R2	#000B
      0x8C08014F,  //  0006  GETMET	R2	R0	K79
      0x5C100200,  //  0007  MOVE	R4	R1
      0x7C080400,  //  0008  CALL	R2	2
      0x50080200,  //  0009  LDBOOL	R2	1	0
      0x80040400,  //  000A  RET	1	R2
      0x50080000,  //  000B  LDBOOL	R2	0	0
      0x80040400,  //  000C  RET	1	R2
    })
  )
);
/*******************************************************************/


/********************************************************************
** Solidified function: get_current_iteration_number
********************************************************************/
be_local_closure(class_AnimationEngine_get_current_iteration_number,   /* name */
  be_nested_proto(
    3,                          /* nstack */
    1,                          /* argc */
    10,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    0,                          /* has sup protos */
    NULL,                       /* no sub protos */
    1,                          /* has constants */
    &be_ktab_class_AnimationEngine,     /* shared constants */
    be_str_weak(get_current_iteration_number),
    &be_const_str_solidified,
    ( &(const binstruction[ 4]) {  /* code */
      0x88040104,  //  0000  GETMBR	R1	R0	K4
      0x8C040350,  //  0001  GETMET	R1	R1	K80
      0x7C040200,  //  0002  CALL	R1	1
      0x80040200,  //  0003  RET	1	R1
    })
  )
);
/*******************************************************************/


/********************************************************************
** Solidified function: size
********************************************************************/
be_local_closure(class_AnimationEngine_size,   /* name */
  be_nested_proto(
    3,                          /* nstack */
    1,                          /* argc */
    10,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    0,                          /* has sup protos */
    NULL,                       /* no sub protos */
    1,                          /* has constants */
    &be_ktab_class_AnimationEngine,     /* shared constants */
    be_str_weak(size),
    &be_const_str_solidified,
    ( &(const binstruction[ 4]) {  /* code */
      0x88040104,  //  0000  GETMBR	R1	R0	K4
      0x8C040351,  //  0001  GETMET	R1	R1	K81
      0x7C040200,  //  0002  CALL	R1	1
      0x80040200,  //  0003  RET	1	R1
    })
  )
);
/*******************************************************************/


/********************************************************************
** Solidified function: resume_after
********************************************************************/
be_local_closure(class_AnimationEngine_resume_after,   /* name */
  be_nested_proto(
    6,                          /* nstack */
    2,                          /* argc */
    10,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    1,                          /* has sup protos */
    ( &(const struct bproto*[ 1]) {
      be_nested_proto(
        2,                          /* nstack */
        0,                          /* argc */
        0,                          /* varg */
        1,                          /* has upvals */
        ( &(const bupvaldesc[ 1]) {  /* upvals */
          be_local_const_upval(1, 0),
        }),
        0,                          /* has sup protos */
        NULL,                       /* no sub protos */
        1,                          /* has constants */
        ( &(const bvalue[ 1]) {     /* constants */
        /* K0   */  be_nested_str_weak(resume),
        }),
        be_str_weak(_anonymous_),
        &be_const_str_solidified,
        ( &(const binstruction[ 4]) {  /* code */
          0x68000000,  //  0000  GETUPV	R0	U0
          0x8C000100,  //  0001  GETMET	R0	R0	K0
          0x7C000200,  //  0002  CALL	R0	1
          0x80000000,  //  0003  RET	0
        })
      ),
    }),
    1,                          /* has constants */
    &be_ktab_class_AnimationEngine,     /* shared constants */
    be_str_weak(resume_after),
    &be_const_str_solidified,
    ( &(const binstruction[ 7]) {  /* code */
      0xB80A0400,  //  0000  GETNGBL	R2	K2
      0x8C080552,  //  0001  GETMET	R2	R2	K82
      0x5C100200,  //  0002  MOVE	R4	R1
      0x84140000,  //  0003  CLOSURE	R5	P0
      0x7C080600,  //  0004  CALL	R2	3
      0xA0000000,  //  0005  CLOSE	R0
      0x80000000,  //  0006  RET	0
    })
  )
);
/*******************************************************************/


/********************************************************************
** Solidified function: add
********************************************************************/
be_local_closure(class_AnimationEngine_add,   /* name */
  be_nested_proto(
    5,                          /* nstack */
    2,                          /* argc */
    10,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    0,                          /* has sup protos */
    NULL,                       /* no sub protos */
    1,                          /* has constants */
    &be_ktab_class_AnimationEngine,     /* shared constants */
    be_str_weak(add),
    &be_const_str_solidified,
    ( &(const binstruction[ 8]) {  /* code */
      0x88080104,  //  0000  GETMBR	R2	R0	K4
      0x8C080553,  //  0001  GETMET	R2	R2	K83
      0x5C100200,  //  0002  MOVE	R4	R1
      0x7C080400,  //  0003  CALL	R2	2
      0x780A0001,  //  0004  JMPF	R2	#0007
      0x500C0200,  //  0005  LDBOOL	R3	1	0
      0x90022C03,  //  0006  SETMBR	R0	K22	R3
      0x80040400,  //  0007  RET	1	R2
    })
  )
);
/*******************************************************************/


/********************************************************************
** Solidified function: init
********************************************************************/
be_local_closure(class_AnimationEngine_init,   /* name */
  be_nested_proto(
    5,                          /* nstack */
    2,                          /* argc */
    10,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    0,                          /* has sup protos */
    NULL,                       /* no sub protos */
    1,                          /* has constants */
    &be_ktab_class_AnimationEngine,     /* shared constants */
    be_str_weak(init),
    &be_const_str_solidified,
    ( &(const binstruction[68]) {  /* code */
      0x4C080000,  //  0000  LDNIL	R2
      0x1C080202,  //  0001  EQ	R2	R1	R2
      0x780A0000,  //  0002  JMPF	R2	#0004
      0xB006A955,  //  0003  RAISE	1	K84	K85
      0x90021A01,  //  0004  SETMBR	R0	K13	R1
      0x8C08034E,  //  0005  GETMET	R2	R1	K78
      0x7C080200,  //  0006  CALL	R2	1
      0x90026E02,  //  0007  SETMBR	R0	K55	R2
      0xB80A5A00,  //  0008  GETNGBL	R2	K45
      0x8C080532,  //  0009  GETMET	R2	R2	K50
      0x88100137,  //  000A  GETMBR	R4	R0	K55
      0x7C080400,  //  000B  CALL	R2	2
      0x90026402,  //  000C  SETMBR	R0	K50	R2
      0xB80A5A00,  //  000D  GETNGBL	R2	K45
      0x8C080532,  //  000E  GETMET	R2	R2	K50
      0x88100137,  //  000F  GETMBR	R4	R0	K55
      0x7C080400,  //  0010  CALL	R2	2
      0x90029A02,  //  0011  SETMBR	R0	K77	R2
      0xB80A5A00,  //  0012  GETNGBL	R2	K45
      0x8C080556,  //  0013  GETMET	R2	R2	K86
      0x5C100000,  //  0014  MOVE	R4	R0
      0x7C080400,  //  0015  CALL	R2	2
      0x90020802,  //  0016  SETMBR	R0	K4	R2
      0x50080000,  //  0017  LDBOOL	R2	0	0
      0x90020002,  //  0018  SETMBR	R0	K0	R2
      0x90021118,  //  0019  SETMBR	R0	K8	K24
      0x90021918,  //  001A  SETMBR	R0	K12	K24
      0x4C080000,  //  001B  LDNIL	R2
      0x90020202,  //  001C  SETMBR	R0	K1	R2
      0x88080157,  //  001D  GETMBR	R2	R0	K87
      0x90021202,  //  001E  SETMBR	R0	K9	R2
      0x50080000,  //  001F  LDBOOL	R2	0	0
      0x90022C02,  //  0020  SETMBR	R0	K22	R2
      0x90022F18,  //  0021  SETMBR	R0	K23	K24
      0x90023318,  //  0022  SETMBR	R0	K25	K24
      0x90024145,  //  0023  SETMBR	R0	K32	K69
      0x90024318,  //  0024  SETMBR	R0	K33	K24
      0x90023518,  //  0025  SETMBR	R0	K26	K24
      0x90024D45,  //  0026  SETMBR	R0	K38	K69
      0x90024F18,  //  0027  SETMBR	R0	K39	K24
      0x90023718,  //  0028  SETMBR	R0	K27	K24
      0x90025145,  //  0029  SETMBR	R0	K40	K69
      0x90025318,  //  002A  SETMBR	R0	K41	K24
      0x90023918,  //  002B  SETMBR	R0	K28	K24
      0x90024545,  //  002C  SETMBR	R0	K34	K69
      0x90024718,  //  002D  SETMBR	R0	K35	K24
      0x90023B18,  //  002E  SETMBR	R0	K29	K24
      0x90024945,  //  002F  SETMBR	R0	K36	K69
      0x90024B18,  //  0030  SETMBR	R0	K37	K24
      0x90023D18,  //  0031  SETMBR	R0	K30	K24
      0x90028345,  //  0032  SETMBR	R0	K65	K69
      0x90028518,  //  0033  SETMBR	R0	K66	K24
      0x90028118,  //  0034  SETMBR	R0	K64	K24
      0x540A1387,  //  0035  LDINT	R2	5000
      0x90028602,  //  0036  SETMBR	R0	K67	R2
      0x4C080000,  //  0037  LDNIL	R2
      0x90021402,  //  0038  SETMBR	R0	K10	R2
      0x4C080000,  //  0039  LDNIL	R2
      0x90027E02,  //  003A  SETMBR	R0	K63	R2
      0x4C080000,  //  003B  LDNIL	R2
      0x90027802,  //  003C  SETMBR	R0	K60	R2
      0x4C080000,  //  003D  LDNIL	R2
      0x90027A02,  //  003E  SETMBR	R0	K61	R2
      0x4C080000,  //  003F  LDNIL	R2
      0x90027C02,  //  0040  SETMBR	R0	K62	R2
      0x4C080000,  //  0041  LDNIL	R2
      0x90022202,  //  0042  SETMBR	R0	K17	R2
      0x80000000,  //  0043  RET	0
    })
  )
);
/*******************************************************************/


/********************************************************************
** Solidified function: _clear_strip
********************************************************************/
be_local_closure(class_AnimationEngine__clear_strip,   /* name */
  be_nested_proto(
    3,                          /* nstack */
    1,                          /* argc */
    10,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    0,                          /* has sup protos */
    NULL,                       /* no sub protos */
    1,                          /* has constants */
    &be_ktab_class_AnimationEngine,     /* shared constants */
    be_str_weak(_clear_strip),
    &be_const_str_solidified,
    ( &(const binstruction[ 7]) {  /* code */
      0x8804010D,  //  0000  GETMBR	R1	R0	K13
      0x8C040336,  //  0001  GETMET	R1	R1	K54
      0x7C040200,  //  0002  CALL	R1	1
      0x8804010D,  //  0003  GETMBR	R1	R0	K13
      0x8C040334,  //  0004  GETMET	R1	R1	K52
      0x7C040200,  //  0005  CALL	R1	1
      0x80000000,  //  0006  RET	0
    })
  )
);
/*******************************************************************/


/********************************************************************
** Solidified function: _handle_strip_length_change
********************************************************************/
be_local_closure(class_AnimationEngine__handle_strip_length_change,   /* name */
  be_nested_proto(
    5,                          /* nstack */
    2,                          /* argc */
    10,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    0,                          /* has sup protos */
    NULL,                       /* no sub protos */
    1,                          /* has constants */
    &be_ktab_class_AnimationEngine,     /* shared constants */
    be_str_weak(_handle_strip_length_change),
    &be_const_str_solidified,
    ( &(const binstruction[15]) {  /* code */
      0x18080318,  //  0000  LE	R2	R1	K24
      0x780A0000,  //  0001  JMPF	R2	#0003
      0x80000400,  //  0002  RET	0
      0x90026E01,  //  0003  SETMBR	R0	K55	R1
      0x88080132,  //  0004  GETMBR	R2	R0	K50
      0x8C080558,  //  0005  GETMET	R2	R2	K88
      0x5C100200,  //  0006  MOVE	R4	R1
      0x7C080400,  //  0007  CALL	R2	2
      0x8808014D,  //  0008  GETMBR	R2	R0	K77
      0x8C080558,  //  0009  GETMET	R2	R2	K88
      0x5C100200,  //  000A  MOVE	R4	R1
      0x7C080400,  //  000B  CALL	R2	2
      0x50080200,  //  000C  LDBOOL	R2	1	0
      0x90022C02,  //  000D  SETMBR	R0	K22	R2
      0x80000000,  //  000E  RET	0
    })
  )
);
/*******************************************************************/


/********************************************************************
** Solidified function: pop_iteration_context
********************************************************************/
be_local_closure(class_AnimationEngine_pop_iteration_context,   /* name */
  be_nested_proto(
    3,                          /* nstack */
    1,                          /* argc */
    10,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    0,                          /* has sup protos */
    NULL,                       /* no sub protos */
    1,                          /* has constants */
    &be_ktab_class_AnimationEngine,     /* shared constants */
    be_str_weak(pop_iteration_context),
    &be_const_str_solidified,
    ( &(const binstruction[ 4]) {  /* code */
      0x88040104,  //  0000  GETMBR	R1	R0	K4
      0x8C040359,  //  0001  GETMET	R1	R1	K89
      0x7C040200,  //  0002  CALL	R1	1
      0x80040200,  //  0003  RET	1	R1
    })
  )
);
/*******************************************************************/


/********************************************************************
** Solidified class: AnimationEngine
********************************************************************/
be_local_class(AnimationEngine,
    38,
    NULL,
    be_nested_map(71,
    ( (struct bmapnode*) &(const bmapnode[]) {
        { be_const_key_weak(stop, 9), be_const_closure(class_AnimationEngine_stop_closure) },
        { be_const_key_weak(frame_buffer, 65), be_const_var(3) },
        { be_const_key_weak(pop_iteration_context, -1), be_const_closure(class_AnimationEngine_pop_iteration_context_closure) },
        { be_const_key_weak(animations, -1), be_const_closure(class_AnimationEngine_animations_closure) },
        { be_const_key_weak(phase2_time_max, 50), be_const_var(26) },
        { be_const_key_weak(strip_length, 45), be_const_var(1) },
        { be_const_key_weak(on_tick, 37), be_const_closure(class_AnimationEngine_on_tick_closure) },
        { be_const_key_weak(ts_1, -1), be_const_var(33) },
        { be_const_key_weak(phase2_time_min, 49), be_const_var(25) },
        { be_const_key_weak(tick_ms, -1), be_const_var(9) },
        { be_const_key_weak(tick_time_sum, 34), be_const_var(12) },
        { be_const_key_weak(phase1_time_max, 62), be_const_var(23) },
        { be_const_key_weak(_print_stats, -1), be_const_closure(class_AnimationEngine__print_stats_closure) },
        { be_const_key_weak(last_update, 22), be_const_var(6) },
        { be_const_key_weak(interrupt_animation, -1), be_const_closure(class_AnimationEngine_interrupt_animation_closure) },
        { be_const_key_weak(is_running, -1), be_const_var(5) },
        { be_const_key_weak(push_iteration_context, 1), be_const_closure(class_AnimationEngine_push_iteration_context_closure) },
        { be_const_key_weak(anim_time_min, 33), be_const_var(16) },
        { be_const_key_weak(_output_to_strip, -1), be_const_closure(class_AnimationEngine__output_to_strip_closure) },
        { be_const_key_weak(hw_time_min, -1), be_const_var(19) },
        { be_const_key_weak(TICK_MS, -1), be_const_int(50) },
        { be_const_key_weak(strip, -1), be_const_var(0) },
        { be_const_key_weak(clear, -1), be_const_closure(class_AnimationEngine_clear_closure) },
        { be_const_key_weak(sequence_managers, 19), be_const_closure(class_AnimationEngine_sequence_managers_closure) },
        { be_const_key_weak(_clear_strip, 30), be_const_closure(class_AnimationEngine__clear_strip_closure) },
        { be_const_key_weak(remove, 20), be_const_closure(class_AnimationEngine_remove_closure) },
        { be_const_key_weak(phase3_time_max, -1), be_const_var(29) },
        { be_const_key_weak(phase1_time_min, -1), be_const_var(22) },
        { be_const_key_weak(fast_loop_closure, -1), be_const_var(8) },
        { be_const_key_weak(get_strip_length, -1), be_const_closure(class_AnimationEngine_get_strip_length_closure) },
        { be_const_key_weak(phase2_time_sum, -1), be_const_var(24) },
        { be_const_key_weak(ts_2, -1), be_const_var(34) },
        { be_const_key_weak(tick_time_min, -1), be_const_var(13) },
        { be_const_key_weak(anim_time_max, 69), be_const_var(17) },
        { be_const_key_weak(add, 26), be_const_closure(class_AnimationEngine_add_closure) },
        { be_const_key_weak(ts_hw, -1), be_const_var(36) },
        { be_const_key_weak(tick_time_max, -1), be_const_var(14) },
        { be_const_key_weak(phase1_time_sum, -1), be_const_var(21) },
        { be_const_key_weak(run, -1), be_const_closure(class_AnimationEngine_run_closure) },
        { be_const_key_weak(hw_time_max, -1), be_const_var(20) },
        { be_const_key_weak(_record_tick_metrics, 2), be_const_closure(class_AnimationEngine__record_tick_metrics_closure) },
        { be_const_key_weak(render_needed, -1), be_const_var(10) },
        { be_const_key_weak(update_current_iteration, 58), be_const_closure(class_AnimationEngine_update_current_iteration_closure) },
        { be_const_key_weak(root_animation, 57), be_const_var(2) },
        { be_const_key_weak(ts_end, -1), be_const_var(37) },
        { be_const_key_weak(size, -1), be_const_closure(class_AnimationEngine_size_closure) },
        { be_const_key_weak(_update_and_render, -1), be_const_closure(class_AnimationEngine__update_and_render_closure) },
        { be_const_key_weak(stats_period, 55), be_const_var(31) },
        { be_const_key_weak(cleanup, -1), be_const_closure(class_AnimationEngine_cleanup_closure) },
        { be_const_key_weak(temp_buffer, 54), be_const_var(4) },
        { be_const_key_weak(get_current_iteration_number, 38), be_const_closure(class_AnimationEngine_get_current_iteration_number_closure) },
        { be_const_key_weak(interrupt_current, -1), be_const_closure(class_AnimationEngine_interrupt_current_closure) },
        { be_const_key_weak(get_animations, 53), be_const_closure(class_AnimationEngine_get_animations_closure) },
        { be_const_key_weak(check_strip_length, -1), be_const_closure(class_AnimationEngine_check_strip_length_closure) },
        { be_const_key_weak(_process_events, -1), be_const_closure(class_AnimationEngine__process_events_closure) },
        { be_const_key_weak(get_strip, -1), be_const_closure(class_AnimationEngine_get_strip_closure) },
        { be_const_key_weak(resume_after, -1), be_const_closure(class_AnimationEngine_resume_after_closure) },
        { be_const_key_weak(tostring, -1), be_const_closure(class_AnimationEngine_tostring_closure) },
        { be_const_key_weak(is_active, -1), be_const_closure(class_AnimationEngine_is_active_closure) },
        { be_const_key_weak(tick_count, -1), be_const_var(11) },
        { be_const_key_weak(hw_time_sum, 24), be_const_var(18) },
        { be_const_key_weak(init, -1), be_const_closure(class_AnimationEngine_init_closure) },
        { be_const_key_weak(anim_time_sum, -1), be_const_var(15) },
        { be_const_key_weak(time_ms, -1), be_const_var(7) },
        { be_const_key_weak(_handle_strip_length_change, -1), be_const_closure(class_AnimationEngine__handle_strip_length_change_closure) },
        { be_const_key_weak(ts_start, 70), be_const_var(32) },
        { be_const_key_weak(resume, 15), be_const_closure(class_AnimationEngine_resume_closure) },
        { be_const_key_weak(ts_3, -1), be_const_var(35) },
        { be_const_key_weak(phase3_time_sum, 7), be_const_var(27) },
        { be_const_key_weak(last_stats_time, -1), be_const_var(30) },
        { be_const_key_weak(phase3_time_min, -1), be_const_var(28) },
    })),
    be_str_weak(AnimationEngine)
);

/********************************************************************
** Solidified function: cosine_osc
********************************************************************/
be_local_closure(cosine_osc,   /* name */
  be_nested_proto(
    4,                          /* nstack */
    1,                          /* argc */
    0,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    0,                          /* has sup protos */
    NULL,                       /* no sub protos */
    1,                          /* has constants */
    ( &(const bvalue[ 4]) {     /* constants */
    /* K0   */  be_nested_str_weak(animation),
    /* K1   */  be_nested_str_weak(oscillator_value),
    /* K2   */  be_nested_str_weak(form),
    /* K3   */  be_nested_str_weak(COSINE),
    }),
    be_str_weak(cosine_osc),
    &be_const_str_solidified,
    ( &(const binstruction[ 8]) {  /* code */
      0xB8060000,  //  0000  GETNGBL	R1	K0
      0x8C040301,  //  0001  GETMET	R1	R1	K1
      0x5C0C0000,  //  0002  MOVE	R3	R0
      0x7C040400,  //  0003  CALL	R1	2
      0xB80A0000,  //  0004  GETNGBL	R2	K0
      0x88080503,  //  0005  GETMBR	R2	R2	K3
      0x90060402,  //  0006  SETMBR	R1	K2	R2
      0x80040200,  //  0007  RET	1	R1
    })
  )
);
/*******************************************************************/


/********************************************************************
** Solidified function: is_color_provider
********************************************************************/
be_local_closure(is_color_provider,   /* name */
  be_nested_proto(
    4,                          /* nstack */
    1,                          /* argc */
    0,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    0,                          /* has sup protos */
    NULL,                       /* no sub protos */
    1,                          /* has constants */
    ( &(const bvalue[ 2]) {     /* constants */
    /* K0   */  be_nested_str_weak(animation),
    /* K1   */  be_nested_str_weak(color_provider),
    }),
    be_str_weak(is_color_provider),
    &be_const_str_solidified,
    ( &(const binstruction[ 6]) {  /* code */
      0x6004000F,  //  0000  GETGBL	R1	G15
      0x5C080000,  //  0001  MOVE	R2	R0
      0xB80E0000,  //  0002  GETNGBL	R3	K0
      0x880C0701,  //  0003  GETMBR	R3	R3	K1
      0x7C040400,  //  0004  CALL	R1	2
      0x80040200,  //  0005  RET	1	R1
    })
  )
);
/*******************************************************************/


/********************************************************************
** Solidified function: get_event_handlers
********************************************************************/
be_local_closure(get_event_handlers,   /* name */
  be_nested_proto(
    4,                          /* nstack */
    1,                          /* argc */
    0,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    0,                          /* has sup protos */
    NULL,                       /* no sub protos */
    1,                          /* has constants */
    ( &(const bvalue[ 3]) {     /* constants */
    /* K0   */  be_nested_str_weak(animation),
    /* K1   */  be_nested_str_weak(event_manager),
    /* K2   */  be_nested_str_weak(get_handlers),
    }),
    be_str_weak(get_event_handlers),
    &be_const_str_solidified,
    ( &(const binstruction[ 6]) {  /* code */
      0xB8060000,  //  0000  GETNGBL	R1	K0
      0x88040301,  //  0001  GETMBR	R1	R1	K1
      0x8C040302,  //  0002  GETMET	R1	R1	K2
      0x5C0C0000,  //  0003  MOVE	R3	R0
      0x7C040400,  //  0004  CALL	R1	2
      0x80040200,  //  0005  RET	1	R1
    })
  )
);
/*******************************************************************/

// compact class 'WaveAnimation' ktab size: 42, total: 67 (saved 200 bytes)
static const bvalue be_ktab_class_WaveAnimation[42] = {
  /* K0   */  be_nested_str_weak(wave_table),
  /* K1   */  be_nested_str_weak(resize),
  /* K2   */  be_nested_str_weak(wave_type),
  /* K3   */  be_const_int(0),
  /* K4   */  be_nested_str_weak(tasmota),
  /* K5   */  be_nested_str_weak(scale_uint),
  /* K6   */  be_const_int(1),
  /* K7   */  be_const_int(2),
  /* K8   */  be_nested_str_weak(sine),
  /* K9   */  be_nested_str_weak(triangle),
  /* K10  */  be_nested_str_weak(square),
  /* K11  */  be_nested_str_weak(sawtooth),
  /* K12  */  be_nested_str_weak(unknown),
  /* K13  */  be_nested_str_weak(color),
  /* K14  */  be_nested_str_weak(animation),
  /* K15  */  be_nested_str_weak(is_value_provider),
  /* K16  */  be_nested_str_weak(0x_X2508x),
  /* K17  */  be_nested_str_weak(WaveAnimation_X28_X25s_X2C_X20color_X3D_X25s_X2C_X20freq_X3D_X25s_X2C_X20speed_X3D_X25s_X2C_X20priority_X3D_X25s_X2C_X20running_X3D_X25s_X29),
  /* K18  */  be_nested_str_weak(frequency),
  /* K19  */  be_nested_str_weak(wave_speed),
  /* K20  */  be_nested_str_weak(priority),
  /* K21  */  be_nested_str_weak(is_running),
  /* K22  */  be_nested_str_weak(width),
  /* K23  */  be_nested_str_weak(current_colors),
  /* K24  */  be_nested_str_weak(size),
  /* K25  */  be_nested_str_weak(set_pixel_color),
  /* K26  */  be_nested_str_weak(on_param_changed),
  /* K27  */  be_nested_str_weak(_init_wave_table),
  /* K28  */  be_nested_str_weak(update),
  /* K29  */  be_nested_str_weak(start_time),
  /* K30  */  be_nested_str_weak(time_offset),
  /* K31  */  be_nested_str_weak(_calculate_wave),
  /* K32  */  be_nested_str_weak(init),
  /* K33  */  be_nested_str_weak(engine),
  /* K34  */  be_nested_str_weak(strip_length),
  /* K35  */  be_nested_str_weak(phase),
  /* K36  */  be_nested_str_weak(amplitude),
  /* K37  */  be_nested_str_weak(center_level),
  /* K38  */  be_nested_str_weak(back_color),
  /* K39  */  be_nested_str_weak(is_color_provider),
  /* K40  */  be_nested_str_weak(get_color_for_value),
  /* K41  */  be_nested_str_weak(resolve_value),
};


extern const bclass be_class_WaveAnimation;

/********************************************************************
** Solidified function: _init_wave_table
********************************************************************/
be_local_closure(class_WaveAnimation__init_wave_table,   /* name */
  be_nested_proto(
    12,                          /* nstack */
    1,                          /* argc */
    10,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    0,                          /* has sup protos */
    NULL,                       /* no sub protos */
    1,                          /* has constants */
    &be_ktab_class_WaveAnimation,     /* shared constants */
    be_str_weak(_init_wave_table),
    &be_const_str_solidified,
    ( &(const binstruction[108]) {  /* code */
      0x88040100,  //  0000  GETMBR	R1	R0	K0
      0x8C040301,  //  0001  GETMET	R1	R1	K1
      0x540E00FF,  //  0002  LDINT	R3	256
      0x7C040400,  //  0003  CALL	R1	2
      0x88040102,  //  0004  GETMBR	R1	R0	K2
      0x58080003,  //  0005  LDCONST	R2	K3
      0x540E00FF,  //  0006  LDINT	R3	256
      0x140C0403,  //  0007  LT	R3	R2	R3
      0x780E0061,  //  0008  JMPF	R3	#006B
      0x580C0003,  //  0009  LDCONST	R3	K3
      0x1C100303,  //  000A  EQ	R4	R1	K3
      0x78120035,  //  000B  JMPF	R4	#0042
      0x5412003F,  //  000C  LDINT	R4	64
      0x10100404,  //  000D  MOD	R4	R2	R4
      0x5416003F,  //  000E  LDINT	R5	64
      0x14140405,  //  000F  LT	R5	R2	R5
      0x78160009,  //  0010  JMPF	R5	#001B
      0xB8160800,  //  0011  GETNGBL	R5	K4
      0x8C140B05,  //  0012  GETMET	R5	R5	K5
      0x5C1C0800,  //  0013  MOVE	R7	R4
      0x58200003,  //  0014  LDCONST	R8	K3
      0x5426003F,  //  0015  LDINT	R9	64
      0x542A007F,  //  0016  LDINT	R10	128
      0x542E00FE,  //  0017  LDINT	R11	255
      0x7C140C00,  //  0018  CALL	R5	6
      0x5C0C0A00,  //  0019  MOVE	R3	R5
      0x70020025,  //  001A  JMP		#0041
      0x5416007F,  //  001B  LDINT	R5	128
      0x14140405,  //  001C  LT	R5	R2	R5
      0x7816000A,  //  001D  JMPF	R5	#0029
      0xB8160800,  //  001E  GETNGBL	R5	K4
      0x8C140B05,  //  001F  GETMET	R5	R5	K5
      0x541E007F,  //  0020  LDINT	R7	128
      0x041C0E02,  //  0021  SUB	R7	R7	R2
      0x58200003,  //  0022  LDCONST	R8	K3
      0x5426003F,  //  0023  LDINT	R9	64
      0x542A007F,  //  0024  LDINT	R10	128
      0x542E00FE,  //  0025  LDINT	R11	255
      0x7C140C00,  //  0026  CALL	R5	6
      0x5C0C0A00,  //  0027  MOVE	R3	R5
      0x70020017,  //  0028  JMP		#0041
      0x541600BF,  //  0029  LDINT	R5	192
      0x14140405,  //  002A  LT	R5	R2	R5
      0x7816000A,  //  002B  JMPF	R5	#0037
      0xB8160800,  //  002C  GETNGBL	R5	K4
      0x8C140B05,  //  002D  GETMET	R5	R5	K5
      0x541E007F,  //  002E  LDINT	R7	128
      0x041C0407,  //  002F  SUB	R7	R2	R7
      0x58200003,  //  0030  LDCONST	R8	K3
      0x5426003F,  //  0031  LDINT	R9	64
      0x542A007F,  //  0032  LDINT	R10	128
      0x582C0003,  //  0033  LDCONST	R11	K3
      0x7C140C00,  //  0034  CALL	R5	6
      0x5C0C0A00,  //  0035  MOVE	R3	R5
      0x70020009,  //  0036  JMP		#0041
      0xB8160800,  //  0037  GETNGBL	R5	K4
      0x8C140B05,  //  0038  GETMET	R5	R5	K5
      0x541E00FF,  //  0039  LDINT	R7	256
      0x041C0E02,  //  003A  SUB	R7	R7	R2
      0x58200003,  //  003B  LDCONST	R8	K3
      0x5426003F,  //  003C  LDINT	R9	64
      0x542A007F,  //  003D  LDINT	R10	128
      0x582C0003,  //  003E  LDCONST	R11	K3
      0x7C140C00,  //  003F  CALL	R5	6
      0x5C0C0A00,  //  0040  MOVE	R3	R5
      0x70020024,  //  0041  JMP		#0067
      0x1C100306,  //  0042  EQ	R4	R1	K6
      0x78120017,  //  0043  JMPF	R4	#005C
      0x5412007F,  //  0044  LDINT	R4	128
      0x14100404,  //  0045  LT	R4	R2	R4
      0x78120009,  //  0046  JMPF	R4	#0051
      0xB8120800,  //  0047  GETNGBL	R4	K4
      0x8C100905,  //  0048  GETMET	R4	R4	K5
      0x5C180400,  //  0049  MOVE	R6	R2
      0x581C0003,  //  004A  LDCONST	R7	K3
      0x5422007F,  //  004B  LDINT	R8	128
      0x58240003,  //  004C  LDCONST	R9	K3
      0x542A00FE,  //  004D  LDINT	R10	255
      0x7C100C00,  //  004E  CALL	R4	6
      0x5C0C0800,  //  004F  MOVE	R3	R4
      0x70020009,  //  0050  JMP		#005B
      0xB8120800,  //  0051  GETNGBL	R4	K4
      0x8C100905,  //  0052  GETMET	R4	R4	K5
      0x541A00FF,  //  0053  LDINT	R6	256
      0x04180C02,  //  0054  SUB	R6	R6	R2
      0x581C0003,  //  0055  LDCONST	R7	K3
      0x5422007F,  //  0056  LDINT	R8	128
      0x58240003,  //  0057  LDCONST	R9	K3
      0x542A00FE,  //  0058  LDINT	R10	255
      0x7C100C00,  //  0059  CALL	R4	6
      0x5C0C0800,  //  005A  MOVE	R3	R4
      0x7002000A,  //  005B  JMP		#0067
      0x1C100307,  //  005C  EQ	R4	R1	K7
      0x78120007,  //  005D  JMPF	R4	#0066
      0x5412007F,  //  005E  LDINT	R4	128
      0x14100404,  //  005F  LT	R4	R2	R4
      0x78120001,  //  0060  JMPF	R4	#0063
      0x541200FE,  //  0061  LDINT	R4	255
      0x70020000,  //  0062  JMP		#0064
      0x58100003,  //  0063  LDCONST	R4	K3
      0x5C0C0800,  //  0064  MOVE	R3	R4
      0x70020000,  //  0065  JMP		#0067
      0x5C0C0400,  //  0066  MOVE	R3	R2
      0x88100100,  //  0067  GETMBR	R4	R0	K0
      0x98100403,  //  0068  SETIDX	R4	R2	R3
      0x00080506,  //  0069  ADD	R2	R2	K6
      0x7001FF9A,  //  006A  JMP		#0006
      0x80000000,  //  006B  RET	0
    })
  )
);
/*******************************************************************/


/********************************************************************
** Solidified function: tostring
********************************************************************/
be_local_closure(class_WaveAnimation_tostring,   /* name */
  be_nested_proto(
    14,                          /* nstack */
    1,                          /* argc */
    10,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    0,                          /* has sup protos */
    NULL,                       /* no sub protos */
    1,                          /* has constants */
    &be_ktab_class_WaveAnimation,     /* shared constants */
    be_str_weak(tostring),
    &be_const_str_solidified,
    ( &(const binstruction[41]) {  /* code */
      0x60040012,  //  0000  GETGBL	R1	G18
      0x7C040000,  //  0001  CALL	R1	0
      0x40080308,  //  0002  CONNECT	R2	R1	K8
      0x40080309,  //  0003  CONNECT	R2	R1	K9
      0x4008030A,  //  0004  CONNECT	R2	R1	K10
      0x4008030B,  //  0005  CONNECT	R2	R1	K11
      0x88080102,  //  0006  GETMBR	R2	R0	K2
      0x940C0202,  //  0007  GETIDX	R3	R1	R2
      0x4C100000,  //  0008  LDNIL	R4
      0x200C0604,  //  0009  NE	R3	R3	R4
      0x780E0001,  //  000A  JMPF	R3	#000D
      0x940C0202,  //  000B  GETIDX	R3	R1	R2
      0x70020000,  //  000C  JMP		#000E
      0x580C000C,  //  000D  LDCONST	R3	K12
      0x8810010D,  //  000E  GETMBR	R4	R0	K13
      0x4C140000,  //  000F  LDNIL	R5
      0xB81A1C00,  //  0010  GETNGBL	R6	K14
      0x8C180D0F,  //  0011  GETMET	R6	R6	K15
      0x5C200800,  //  0012  MOVE	R8	R4
      0x7C180400,  //  0013  CALL	R6	2
      0x781A0004,  //  0014  JMPF	R6	#001A
      0x60180008,  //  0015  GETGBL	R6	G8
      0x5C1C0800,  //  0016  MOVE	R7	R4
      0x7C180200,  //  0017  CALL	R6	1
      0x5C140C00,  //  0018  MOVE	R5	R6
      0x70020004,  //  0019  JMP		#001F
      0x60180018,  //  001A  GETGBL	R6	G24
      0x581C0010,  //  001B  LDCONST	R7	K16
      0x5C200800,  //  001C  MOVE	R8	R4
      0x7C180400,  //  001D  CALL	R6	2
      0x5C140C00,  //  001E  MOVE	R5	R6
      0x60180018,  //  001F  GETGBL	R6	G24
      0x581C0011,  //  0020  LDCONST	R7	K17
      0x5C200600,  //  0021  MOVE	R8	R3
      0x5C240A00,  //  0022  MOVE	R9	R5
      0x88280112,  //  0023  GETMBR	R10	R0	K18
      0x882C0113,  //  0024  GETMBR	R11	R0	K19
      0x88300114,  //  0025  GETMBR	R12	R0	K20
      0x88340115,  //  0026  GETMBR	R13	R0	K21
      0x7C180E00,  //  0027  CALL	R6	7
      0x80040C00,  //  0028  RET	1	R6
    })
  )
);
/*******************************************************************/


/********************************************************************
** Solidified function: render
********************************************************************/
be_local_closure(class_WaveAnimation_render,   /* name */
  be_nested_proto(
    9,                          /* nstack */
    4,                          /* argc */
    10,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    0,                          /* has sup protos */
    NULL,                       /* no sub protos */
    1,                          /* has constants */
    &be_ktab_class_WaveAnimation,     /* shared constants */
    be_str_weak(render),
    &be_const_str_solidified,
    ( &(const binstruction[20]) {  /* code */
      0x58100003,  //  0000  LDCONST	R4	K3
      0x14140803,  //  0001  LT	R5	R4	R3
      0x7816000E,  //  0002  JMPF	R5	#0012
      0x88140316,  //  0003  GETMBR	R5	R1	K22
      0x14140805,  //  0004  LT	R5	R4	R5
      0x78160009,  //  0005  JMPF	R5	#0010
      0x88140117,  //  0006  GETMBR	R5	R0	K23
      0x8C140B18,  //  0007  GETMET	R5	R5	K24
      0x7C140200,  //  0008  CALL	R5	1
      0x14140805,  //  0009  LT	R5	R4	R5
      0x78160004,  //  000A  JMPF	R5	#0010
      0x8C140319,  //  000B  GETMET	R5	R1	K25
      0x5C1C0800,  //  000C  MOVE	R7	R4
      0x88200117,  //  000D  GETMBR	R8	R0	K23
      0x94201004,  //  000E  GETIDX	R8	R8	R4
      0x7C140600,  //  000F  CALL	R5	3
      0x00100906,  //  0010  ADD	R4	R4	K6
      0x7001FFEE,  //  0011  JMP		#0001
      0x50140200,  //  0012  LDBOOL	R5	1	0
      0x80040A00,  //  0013  RET	1	R5
    })
  )
);
/*******************************************************************/


/********************************************************************
** Solidified function: on_param_changed
********************************************************************/
be_local_closure(class_WaveAnimation_on_param_changed,   /* name */
  be_nested_proto(
    7,                          /* nstack */
    3,                          /* argc */
    10,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    0,                          /* has sup protos */
    NULL,                       /* no sub protos */
    1,                          /* has constants */
    &be_ktab_class_WaveAnimation,     /* shared constants */
    be_str_weak(on_param_changed),
    &be_const_str_solidified,
    ( &(const binstruction[12]) {  /* code */
      0x600C0003,  //  0000  GETGBL	R3	G3
      0x5C100000,  //  0001  MOVE	R4	R0
      0x7C0C0200,  //  0002  CALL	R3	1
      0x8C0C071A,  //  0003  GETMET	R3	R3	K26
      0x5C140200,  //  0004  MOVE	R5	R1
      0x5C180400,  //  0005  MOVE	R6	R2
      0x7C0C0600,  //  0006  CALL	R3	3
      0x1C0C0302,  //  0007  EQ	R3	R1	K2
      0x780E0001,  //  0008  JMPF	R3	#000B
      0x8C0C011B,  //  0009  GETMET	R3	R0	K27
      0x7C0C0200,  //  000A  CALL	R3	1
      0x80000000,  //  000B  RET	0
    })
  )
);
/*******************************************************************/


/********************************************************************
** Solidified function: update
********************************************************************/
be_local_closure(class_WaveAnimation_update,   /* name */
  be_nested_proto(
    11,                          /* nstack */
    2,                          /* argc */
    10,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    0,                          /* has sup protos */
    NULL,                       /* no sub protos */
    1,                          /* has constants */
    &be_ktab_class_WaveAnimation,     /* shared constants */
    be_str_weak(update),
    &be_const_str_solidified,
    ( &(const binstruction[31]) {  /* code */
      0x60080003,  //  0000  GETGBL	R2	G3
      0x5C0C0000,  //  0001  MOVE	R3	R0
      0x7C080200,  //  0002  CALL	R2	1
      0x8C08051C,  //  0003  GETMET	R2	R2	K28
      0x5C100200,  //  0004  MOVE	R4	R1
      0x7C080400,  //  0005  CALL	R2	2
      0x88080113,  //  0006  GETMBR	R2	R0	K19
      0x240C0503,  //  0007  GT	R3	R2	K3
      0x780E0011,  //  0008  JMPF	R3	#001B
      0x880C011D,  //  0009  GETMBR	R3	R0	K29
      0x040C0203,  //  000A  SUB	R3	R1	R3
      0xB8120800,  //  000B  GETNGBL	R4	K4
      0x8C100905,  //  000C  GETMET	R4	R4	K5
      0x5C180400,  //  000D  MOVE	R6	R2
      0x581C0003,  //  000E  LDCONST	R7	K3
      0x542200FE,  //  000F  LDINT	R8	255
      0x58240003,  //  0010  LDCONST	R9	K3
      0x542A0009,  //  0011  LDINT	R10	10
      0x7C100C00,  //  0012  CALL	R4	6
      0x24140903,  //  0013  GT	R5	R4	K3
      0x78160005,  //  0014  JMPF	R5	#001B
      0x08140604,  //  0015  MUL	R5	R3	R4
      0x541A03E7,  //  0016  LDINT	R6	1000
      0x0C140A06,  //  0017  DIV	R5	R5	R6
      0x541A00FF,  //  0018  LDINT	R6	256
      0x10140A06,  //  0019  MOD	R5	R5	R6
      0x90023C05,  //  001A  SETMBR	R0	K30	R5
      0x8C0C011F,  //  001B  GETMET	R3	R0	K31
      0x5C140200,  //  001C  MOVE	R5	R1
      0x7C0C0400,  //  001D  CALL	R3	2
      0x80000000,  //  001E  RET	0
    })
  )
);
/*******************************************************************/


/********************************************************************
** Solidified function: init
********************************************************************/
be_local_closure(class_WaveAnimation_init,   /* name */
  be_nested_proto(
    5,                          /* nstack */
    2,                          /* argc */
    10,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    0,                          /* has sup protos */
    NULL,                       /* no sub protos */
    1,                          /* has constants */
    &be_ktab_class_WaveAnimation,     /* shared constants */
    be_str_weak(init),
    &be_const_str_solidified,
    ( &(const binstruction[16]) {  /* code */
      0x60080003,  //  0000  GETGBL	R2	G3
      0x5C0C0000,  //  0001  MOVE	R3	R0
      0x7C080200,  //  0002  CALL	R2	1
      0x8C080520,  //  0003  GETMET	R2	R2	K32
      0x5C100200,  //  0004  MOVE	R4	R1
      0x7C080400,  //  0005  CALL	R2	2
      0x60080012,  //  0006  GETGBL	R2	G18
      0x7C080000,  //  0007  CALL	R2	0
      0x90022E02,  //  0008  SETMBR	R0	K23	R2
      0x90023D03,  //  0009  SETMBR	R0	K30	K3
      0x60080012,  //  000A  GETGBL	R2	G18
      0x7C080000,  //  000B  CALL	R2	0
      0x90020002,  //  000C  SETMBR	R0	K0	R2
      0x8C08011B,  //  000D  GETMET	R2	R0	K27
      0x7C080200,  //  000E  CALL	R2	1
      0x80000000,  //  000F  RET	0
    })
  )
);
/*******************************************************************/


/********************************************************************
** Solidified function: _calculate_wave
********************************************************************/
be_local_closure(class_WaveAnimation__calculate_wave,   /* name */
  be_nested_proto(
    27,                          /* nstack */
    2,                          /* argc */
    10,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    0,                          /* has sup protos */
    NULL,                       /* no sub protos */
    1,                          /* has constants */
    &be_ktab_class_WaveAnimation,     /* shared constants */
    be_str_weak(_calculate_wave),
    &be_const_str_solidified,
    ( &(const binstruction[168]) {  /* code */
      0x88080121,  //  0000  GETMBR	R2	R0	K33
      0x88080522,  //  0001  GETMBR	R2	R2	K34
      0x880C0112,  //  0002  GETMBR	R3	R0	K18
      0x88100123,  //  0003  GETMBR	R4	R0	K35
      0x88140124,  //  0004  GETMBR	R5	R0	K36
      0x88180125,  //  0005  GETMBR	R6	R0	K37
      0x881C0126,  //  0006  GETMBR	R7	R0	K38
      0x8820010D,  //  0007  GETMBR	R8	R0	K13
      0x88240117,  //  0008  GETMBR	R9	R0	K23
      0x8C241318,  //  0009  GETMET	R9	R9	K24
      0x7C240200,  //  000A  CALL	R9	1
      0x20241202,  //  000B  NE	R9	R9	R2
      0x78260003,  //  000C  JMPF	R9	#0011
      0x88240117,  //  000D  GETMBR	R9	R0	K23
      0x8C241301,  //  000E  GETMET	R9	R9	K1
      0x5C2C0400,  //  000F  MOVE	R11	R2
      0x7C240400,  //  0010  CALL	R9	2
      0x58240003,  //  0011  LDCONST	R9	K3
      0x14281202,  //  0012  LT	R10	R9	R2
      0x782A0092,  //  0013  JMPF	R10	#00A7
      0xB82A0800,  //  0014  GETNGBL	R10	K4
      0x8C281505,  //  0015  GETMET	R10	R10	K5
      0x5C301200,  //  0016  MOVE	R12	R9
      0x58340003,  //  0017  LDCONST	R13	K3
      0x04380506,  //  0018  SUB	R14	R2	K6
      0x583C0003,  //  0019  LDCONST	R15	K3
      0x544200FE,  //  001A  LDINT	R16	255
      0x7C280C00,  //  001B  CALL	R10	6
      0x082C1403,  //  001C  MUL	R11	R10	R3
      0x5432001F,  //  001D  LDINT	R12	32
      0x0C2C160C,  //  001E  DIV	R11	R11	R12
      0x002C1604,  //  001F  ADD	R11	R11	R4
      0x8830011E,  //  0020  GETMBR	R12	R0	K30
      0x002C160C,  //  0021  ADD	R11	R11	R12
      0x543200FE,  //  0022  LDINT	R12	255
      0x2C2C160C,  //  0023  AND	R11	R11	R12
      0x88300100,  //  0024  GETMBR	R12	R0	K0
      0x9430180B,  //  0025  GETIDX	R12	R12	R11
      0xB8360800,  //  0026  GETNGBL	R13	K4
      0x8C341B05,  //  0027  GETMET	R13	R13	K5
      0x5C3C0A00,  //  0028  MOVE	R15	R5
      0x58400003,  //  0029  LDCONST	R16	K3
      0x544600FE,  //  002A  LDINT	R17	255
      0x58480003,  //  002B  LDCONST	R18	K3
      0x544E007F,  //  002C  LDINT	R19	128
      0x7C340C00,  //  002D  CALL	R13	6
      0x58380003,  //  002E  LDCONST	R14	K3
      0x543E007F,  //  002F  LDINT	R15	128
      0x283C180F,  //  0030  GE	R15	R12	R15
      0x783E000D,  //  0031  JMPF	R15	#0040
      0x543E007F,  //  0032  LDINT	R15	128
      0x043C180F,  //  0033  SUB	R15	R12	R15
      0xB8420800,  //  0034  GETNGBL	R16	K4
      0x8C402105,  //  0035  GETMET	R16	R16	K5
      0x5C481E00,  //  0036  MOVE	R18	R15
      0x584C0003,  //  0037  LDCONST	R19	K3
      0x5452007E,  //  0038  LDINT	R20	127
      0x58540003,  //  0039  LDCONST	R21	K3
      0x5C581A00,  //  003A  MOVE	R22	R13
      0x7C400C00,  //  003B  CALL	R16	6
      0x5C3C2000,  //  003C  MOVE	R15	R16
      0x00400C0F,  //  003D  ADD	R16	R6	R15
      0x5C382000,  //  003E  MOVE	R14	R16
      0x7002000C,  //  003F  JMP		#004D
      0x543E007F,  //  0040  LDINT	R15	128
      0x043C1E0C,  //  0041  SUB	R15	R15	R12
      0xB8420800,  //  0042  GETNGBL	R16	K4
      0x8C402105,  //  0043  GETMET	R16	R16	K5
      0x5C481E00,  //  0044  MOVE	R18	R15
      0x584C0003,  //  0045  LDCONST	R19	K3
      0x5452007F,  //  0046  LDINT	R20	128
      0x58540003,  //  0047  LDCONST	R21	K3
      0x5C581A00,  //  0048  MOVE	R22	R13
      0x7C400C00,  //  0049  CALL	R16	6
      0x5C3C2000,  //  004A  MOVE	R15	R16
      0x04400C0F,  //  004B  SUB	R16	R6	R15
      0x5C382000,  //  004C  MOVE	R14	R16
      0x543E00FE,  //  004D  LDINT	R15	255
      0x243C1C0F,  //  004E  GT	R15	R14	R15
      0x783E0001,  //  004F  JMPF	R15	#0052
      0x543A00FE,  //  0050  LDINT	R14	255
      0x70020002,  //  0051  JMP		#0055
      0x143C1D03,  //  0052  LT	R15	R14	K3
      0x783E0000,  //  0053  JMPF	R15	#0055
      0x58380003,  //  0054  LDCONST	R14	K3
      0x5C3C0E00,  //  0055  MOVE	R15	R7
      0x54420009,  //  0056  LDINT	R16	10
      0x24401C10,  //  0057  GT	R16	R14	R16
      0x78420049,  //  0058  JMPF	R16	#00A3
      0xB8421C00,  //  0059  GETNGBL	R16	K14
      0x8C402127,  //  005A  GETMET	R16	R16	K39
      0x5C481000,  //  005B  MOVE	R18	R8
      0x7C400400,  //  005C  CALL	R16	2
      0x78420009,  //  005D  JMPF	R16	#0068
      0x88401128,  //  005E  GETMBR	R16	R8	K40
      0x4C440000,  //  005F  LDNIL	R17
      0x20402011,  //  0060  NE	R16	R16	R17
      0x78420005,  //  0061  JMPF	R16	#0068
      0x8C401128,  //  0062  GETMET	R16	R8	K40
      0x5C481C00,  //  0063  MOVE	R18	R14
      0x584C0003,  //  0064  LDCONST	R19	K3
      0x7C400600,  //  0065  CALL	R16	3
      0x5C3C2000,  //  0066  MOVE	R15	R16
      0x7002003A,  //  0067  JMP		#00A3
      0x8C400129,  //  0068  GETMET	R16	R0	K41
      0x5C481000,  //  0069  MOVE	R18	R8
      0x584C000D,  //  006A  LDCONST	R19	K13
      0x54520009,  //  006B  LDINT	R20	10
      0x08501C14,  //  006C  MUL	R20	R14	R20
      0x00500214,  //  006D  ADD	R20	R1	R20
      0x7C400800,  //  006E  CALL	R16	4
      0x5C3C2000,  //  006F  MOVE	R15	R16
      0x54420017,  //  0070  LDINT	R16	24
      0x3C401E10,  //  0071  SHR	R16	R15	R16
      0x544600FE,  //  0072  LDINT	R17	255
      0x2C402011,  //  0073  AND	R16	R16	R17
      0x5446000F,  //  0074  LDINT	R17	16
      0x3C441E11,  //  0075  SHR	R17	R15	R17
      0x544A00FE,  //  0076  LDINT	R18	255
      0x2C442212,  //  0077  AND	R17	R17	R18
      0x544A0007,  //  0078  LDINT	R18	8
      0x3C481E12,  //  0079  SHR	R18	R15	R18
      0x544E00FE,  //  007A  LDINT	R19	255
      0x2C482413,  //  007B  AND	R18	R18	R19
      0x544E00FE,  //  007C  LDINT	R19	255
      0x2C4C1E13,  //  007D  AND	R19	R15	R19
      0xB8520800,  //  007E  GETNGBL	R20	K4
      0x8C502905,  //  007F  GETMET	R20	R20	K5
      0x5C581C00,  //  0080  MOVE	R22	R14
      0x585C0003,  //  0081  LDCONST	R23	K3
      0x546200FE,  //  0082  LDINT	R24	255
      0x58640003,  //  0083  LDCONST	R25	K3
      0x5C682200,  //  0084  MOVE	R26	R17
      0x7C500C00,  //  0085  CALL	R20	6
      0x5C442800,  //  0086  MOVE	R17	R20
      0xB8520800,  //  0087  GETNGBL	R20	K4
      0x8C502905,  //  0088  GETMET	R20	R20	K5
      0x5C581C00,  //  0089  MOVE	R22	R14
      0x585C0003,  //  008A  LDCONST	R23	K3
      0x546200FE,  //  008B  LDINT	R24	255
      0x58640003,  //  008C  LDCONST	R25	K3
      0x5C682400,  //  008D  MOVE	R26	R18
      0x7C500C00,  //  008E  CALL	R20	6
      0x5C482800,  //  008F  MOVE	R18	R20
      0xB8520800,  //  0090  GETNGBL	R20	K4
      0x8C502905,  //  0091  GETMET	R20	R20	K5
      0x5C581C00,  //  0092  MOVE	R22	R14
      0x585C0003,  //  0093  LDCONST	R23	K3
      0x546200FE,  //  0094  LDINT	R24	255
      0x58640003,  //  0095  LDCONST	R25	K3
      0x5C682600,  //  0096  MOVE	R26	R19
      0x7C500C00,  //  0097  CALL	R20	6
      0x5C4C2800,  //  0098  MOVE	R19	R20
      0x54520017,  //  0099  LDINT	R20	24
      0x38502014,  //  009A  SHL	R20	R16	R20
      0x5456000F,  //  009B  LDINT	R21	16
      0x38542215,  //  009C  SHL	R21	R17	R21
      0x30502815,  //  009D  OR	R20	R20	R21
      0x54560007,  //  009E  LDINT	R21	8
      0x38542415,  //  009F  SHL	R21	R18	R21
      0x30502815,  //  00A0  OR	R20	R20	R21
      0x30502813,  //  00A1  OR	R20	R20	R19
      0x5C3C2800,  //  00A2  MOVE	R15	R20
      0x88400117,  //  00A3  GETMBR	R16	R0	K23
      0x9840120F,  //  00A4  SETIDX	R16	R9	R15
      0x00241306,  //  00A5  ADD	R9	R9	K6
      0x7001FF6A,  //  00A6  JMP		#0012
      0x80000000,  //  00A7  RET	0
    })
  )
);
/*******************************************************************/


/********************************************************************
** Solidified class: WaveAnimation
********************************************************************/
extern const bclass be_class_Animation;
be_local_class(WaveAnimation,
    3,
    &be_class_Animation,
    be_nested_map(11,
    ( (struct bmapnode*) &(const bmapnode[]) {
        { be_const_key_weak(current_colors, -1), be_const_var(0) },
        { be_const_key_weak(update, -1), be_const_closure(class_WaveAnimation_update_closure) },
        { be_const_key_weak(wave_table, -1), be_const_var(2) },
        { be_const_key_weak(tostring, -1), be_const_closure(class_WaveAnimation_tostring_closure) },
        { be_const_key_weak(render, 7), be_const_closure(class_WaveAnimation_render_closure) },
        { be_const_key_weak(on_param_changed, -1), be_const_closure(class_WaveAnimation_on_param_changed_closure) },
        { be_const_key_weak(init, -1), be_const_closure(class_WaveAnimation_init_closure) },
        { be_const_key_weak(time_offset, 1), be_const_var(1) },
        { be_const_key_weak(PARAMS, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_map, {
        be_const_map( *     be_nested_map(8,
    ( (struct bmapnode*) &(const bmapnode[]) {
        { be_const_key_weak(phase, 7), be_const_bytes_instance(07000001FF000000) },
        { be_const_key_weak(center_level, 3), be_const_bytes_instance(07000001FF00018000) },
        { be_const_key_weak(amplitude, -1), be_const_bytes_instance(07000001FF00018000) },
        { be_const_key_weak(frequency, 5), be_const_bytes_instance(07000001FF000020) },
        { be_const_key_weak(wave_speed, -1), be_const_bytes_instance(07000001FF000032) },
        { be_const_key_weak(wave_type, -1), be_const_bytes_instance(07000000030000) },
        { be_const_key_weak(back_color, -1), be_const_bytes_instance(0402000000FF) },
        { be_const_key_weak(color, -1), be_const_bytes_instance(04020000FFFF) },
    }))    ) } )) },
        { be_const_key_weak(_init_wave_table, 6), be_const_closure(class_WaveAnimation__init_wave_table_closure) },
        { be_const_key_weak(_calculate_wave, -1), be_const_closure(class_WaveAnimation__calculate_wave_closure) },
    })),
    be_str_weak(WaveAnimation)
);

/********************************************************************
** Solidified function: wave_rainbow_sine
********************************************************************/
be_local_closure(wave_rainbow_sine,   /* name */
  be_nested_proto(
    5,                          /* nstack */
    1,                          /* argc */
    0,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    0,                          /* has sup protos */
    NULL,                       /* no sub protos */
    1,                          /* has constants */
    ( &(const bvalue[14]) {     /* constants */
    /* K0   */  be_nested_str_weak(animation),
    /* K1   */  be_nested_str_weak(wave_animation),
    /* K2   */  be_nested_str_weak(rich_palette),
    /* K3   */  be_nested_str_weak(palette),
    /* K4   */  be_nested_str_weak(PALETTE_RAINBOW),
    /* K5   */  be_nested_str_weak(cycle_period),
    /* K6   */  be_nested_str_weak(transition_type),
    /* K7   */  be_const_int(1),
    /* K8   */  be_nested_str_weak(brightness),
    /* K9   */  be_nested_str_weak(color),
    /* K10  */  be_nested_str_weak(wave_type),
    /* K11  */  be_const_int(0),
    /* K12  */  be_nested_str_weak(frequency),
    /* K13  */  be_nested_str_weak(wave_speed),
    }),
    be_str_weak(wave_rainbow_sine),
    &be_const_str_solidified,
    ( &(const binstruction[23]) {  /* code */
      0xB8060000,  //  0000  GETNGBL	R1	K0
      0x8C040301,  //  0001  GETMET	R1	R1	K1
      0x5C0C0000,  //  0002  MOVE	R3	R0
      0x7C040400,  //  0003  CALL	R1	2
      0xB80A0000,  //  0004  GETNGBL	R2	K0
      0x8C080502,  //  0005  GETMET	R2	R2	K2
      0x5C100000,  //  0006  MOVE	R4	R0
      0x7C080400,  //  0007  CALL	R2	2
      0xB80E0000,  //  0008  GETNGBL	R3	K0
      0x880C0704,  //  0009  GETMBR	R3	R3	K4
      0x900A0603,  //  000A  SETMBR	R2	K3	R3
      0x540E1387,  //  000B  LDINT	R3	5000
      0x900A0A03,  //  000C  SETMBR	R2	K5	R3
      0x900A0D07,  //  000D  SETMBR	R2	K6	K7
      0x540E00FE,  //  000E  LDINT	R3	255
      0x900A1003,  //  000F  SETMBR	R2	K8	R3
      0x90061202,  //  0010  SETMBR	R1	K9	R2
      0x9006150B,  //  0011  SETMBR	R1	K10	K11
      0x540E001F,  //  0012  LDINT	R3	32
      0x90061803,  //  0013  SETMBR	R1	K12	R3
      0x540E0031,  //  0014  LDINT	R3	50
      0x90061A03,  //  0015  SETMBR	R1	K13	R3
      0x80040200,  //  0016  RET	1	R1
    })
  )
);
/*******************************************************************/

// compact class 'SequenceManager' ktab size: 46, total: 165 (saved 952 bytes)
static const bvalue be_ktab_class_SequenceManager[46] = {
  /* K0   */  be_nested_str_weak(repeat_count),
  /* K1   */  be_nested_str_weak(function),
  /* K2   */  be_nested_str_weak(engine),
  /* K3   */  be_nested_str_weak(steps),
  /* K4   */  be_nested_str_weak(push),
  /* K5   */  be_nested_str_weak(type),
  /* K6   */  be_nested_str_weak(wait),
  /* K7   */  be_nested_str_weak(duration),
  /* K8   */  be_nested_str_weak(step_index),
  /* K9   */  be_nested_str_weak(closure),
  /* K10  */  be_const_int(1),
  /* K11  */  be_nested_str_weak(execute_current_step),
  /* K12  */  be_nested_str_weak(complete_iteration),
  /* K13  */  be_nested_str_weak(play),
  /* K14  */  be_nested_str_weak(animation),
  /* K15  */  be_nested_str_weak(step_start_time),
  /* K16  */  be_nested_str_weak(start),
  /* K17  */  be_nested_str_weak(remove),
  /* K18  */  be_nested_str_weak(subsequence),
  /* K19  */  be_nested_str_weak(sequence_manager),
  /* K20  */  be_nested_str_weak(stop),
  /* K21  */  be_nested_str_weak(stop_iteration),
  /* K22  */  be_const_int(0),
  /* K23  */  be_nested_str_weak(init),
  /* K24  */  be_nested_str_weak(active_sequence),
  /* K25  */  be_nested_str_weak(sequence_state),
  /* K26  */  be_nested_str_weak(current_iteration),
  /* K27  */  be_nested_str_weak(is_repeat_sequence),
  /* K28  */  be_nested_str_weak(is_running),
  /* K29  */  be_nested_str_weak(update),
  /* K30  */  be_nested_str_weak(advance_to_next_step),
  /* K31  */  be_nested_str_weak(execute_closure_steps_batch),
  /* K32  */  be_nested_str_weak(contains),
  /* K33  */  be_nested_str_weak(update_current_iteration),
  /* K34  */  be_nested_str_weak(get_resolved_repeat_count),
  /* K35  */  be_nested_str_weak(pop_iteration_context),
  /* K36  */  be_nested_str_weak(stop_all_subsequences),
  /* K37  */  be_nested_str_weak(execute_closure_steps_batch_atomic),
  /* K38  */  be_nested_str_weak(start_time),
  /* K39  */  be_nested_str_weak(push_iteration_context),
  /* K40  */  be_nested_str_weak(),
  /* K41  */  be_nested_str_weak(_X2C_X20repeat_X3Dforever_X2C_X20iter_X3D_X25s),
  /* K42  */  be_nested_str_weak(_X2C_X20repeat_X3D_X25s_X2C_X20iter_X3D_X25s),
  /* K43  */  be_nested_str_weak(SequenceManager_X28steps_X3D_X25s_X2C_X20current_X3D_X25s_X2C_X20running_X3D_X25s_X25s_X29),
  /* K44  */  be_nested_str_weak(get_animations),
  /* K45  */  be_nested_str_weak(add),
};


extern const bclass be_class_SequenceManager;

/********************************************************************
** Solidified function: get_resolved_repeat_count
********************************************************************/
be_local_closure(class_SequenceManager_get_resolved_repeat_count,   /* name */
  be_nested_proto(
    5,                          /* nstack */
    1,                          /* argc */
    10,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    0,                          /* has sup protos */
    NULL,                       /* no sub protos */
    1,                          /* has constants */
    &be_ktab_class_SequenceManager,     /* shared constants */
    be_str_weak(get_resolved_repeat_count),
    &be_const_str_solidified,
    ( &(const binstruction[16]) {  /* code */
      0x4C040000,  //  0000  LDNIL	R1
      0x60080004,  //  0001  GETGBL	R2	G4
      0x880C0100,  //  0002  GETMBR	R3	R0	K0
      0x7C080200,  //  0003  CALL	R2	1
      0x1C080501,  //  0004  EQ	R2	R2	K1
      0x780A0004,  //  0005  JMPF	R2	#000B
      0x8C080100,  //  0006  GETMET	R2	R0	K0
      0x88100102,  //  0007  GETMBR	R4	R0	K2
      0x7C080400,  //  0008  CALL	R2	2
      0x5C040400,  //  0009  MOVE	R1	R2
      0x70020000,  //  000A  JMP		#000C
      0x88040100,  //  000B  GETMBR	R1	R0	K0
      0x60080009,  //  000C  GETGBL	R2	G9
      0x5C0C0200,  //  000D  MOVE	R3	R1
      0x7C080200,  //  000E  CALL	R2	1
      0x80040400,  //  000F  RET	1	R2
    })
  )
);
/*******************************************************************/


/********************************************************************
** Solidified function: push_wait_step
********************************************************************/
be_local_closure(class_SequenceManager_push_wait_step,   /* name */
  be_nested_proto(
    5,                          /* nstack */
    2,                          /* argc */
    10,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    0,                          /* has sup protos */
    NULL,                       /* no sub protos */
    1,                          /* has constants */
    &be_ktab_class_SequenceManager,     /* shared constants */
    be_str_weak(push_wait_step),
    &be_const_str_solidified,
    ( &(const binstruction[ 8]) {  /* code */
      0x88080103,  //  0000  GETMBR	R2	R0	K3
      0x8C080504,  //  0001  GETMET	R2	R2	K4
      0x60100013,  //  0002  GETGBL	R4	G19
      0x7C100000,  //  0003  CALL	R4	0
      0x98120B06,  //  0004  SETIDX	R4	K5	K6
      0x98120E01,  //  0005  SETIDX	R4	K7	R1
      0x7C080400,  //  0006  CALL	R2	2
      0x80040000,  //  0007  RET	1	R0
    })
  )
);
/*******************************************************************/


/********************************************************************
** Solidified function: execute_closure_steps_batch
********************************************************************/
be_local_closure(class_SequenceManager_execute_closure_steps_batch,   /* name */
  be_nested_proto(
    6,                          /* nstack */
    2,                          /* argc */
    10,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    0,                          /* has sup protos */
    NULL,                       /* no sub protos */
    1,                          /* has constants */
    &be_ktab_class_SequenceManager,     /* shared constants */
    be_str_weak(execute_closure_steps_batch),
    &be_const_str_solidified,
    ( &(const binstruction[39]) {  /* code */
      0x88080108,  //  0000  GETMBR	R2	R0	K8
      0x600C000C,  //  0001  GETGBL	R3	G12
      0x88100103,  //  0002  GETMBR	R4	R0	K3
      0x7C0C0200,  //  0003  CALL	R3	1
      0x14080403,  //  0004  LT	R2	R2	R3
      0x780A0012,  //  0005  JMPF	R2	#0019
      0x88080103,  //  0006  GETMBR	R2	R0	K3
      0x880C0108,  //  0007  GETMBR	R3	R0	K8
      0x94080403,  //  0008  GETIDX	R2	R2	R3
      0x940C0505,  //  0009  GETIDX	R3	R2	K5
      0x1C0C0709,  //  000A  EQ	R3	R3	K9
      0x780E000A,  //  000B  JMPF	R3	#0017
      0x940C0509,  //  000C  GETIDX	R3	R2	K9
      0x4C100000,  //  000D  LDNIL	R4
      0x20100604,  //  000E  NE	R4	R3	R4
      0x78120002,  //  000F  JMPF	R4	#0013
      0x5C100600,  //  0010  MOVE	R4	R3
      0x88140102,  //  0011  GETMBR	R5	R0	K2
      0x7C100200,  //  0012  CALL	R4	1
      0x88100108,  //  0013  GETMBR	R4	R0	K8
      0x0010090A,  //  0014  ADD	R4	R4	K10
      0x90021004,  //  0015  SETMBR	R0	K8	R4
      0x70020000,  //  0016  JMP		#0018
      0x70020000,  //  0017  JMP		#0019
      0x7001FFE6,  //  0018  JMP		#0000
      0x88080108,  //  0019  GETMBR	R2	R0	K8
      0x600C000C,  //  001A  GETGBL	R3	G12
      0x88100103,  //  001B  GETMBR	R4	R0	K3
      0x7C0C0200,  //  001C  CALL	R3	1
      0x14080403,  //  001D  LT	R2	R2	R3
      0x780A0003,  //  001E  JMPF	R2	#0023
      0x8C08010B,  //  001F  GETMET	R2	R0	K11
      0x5C100200,  //  0020  MOVE	R4	R1
      0x7C080400,  //  0021  CALL	R2	2
      0x70020002,  //  0022  JMP		#0026
      0x8C08010C,  //  0023  GETMET	R2	R0	K12
      0x5C100200,  //  0024  MOVE	R4	R1
      0x7C080400,  //  0025  CALL	R2	2
      0x80000000,  //  0026  RET	0
    })
  )
);
/*******************************************************************/


/********************************************************************
** Solidified function: execute_closure_steps_batch_atomic
********************************************************************/
be_local_closure(class_SequenceManager_execute_closure_steps_batch_atomic,   /* name */
  be_nested_proto(
    8,                          /* nstack */
    3,                          /* argc */
    10,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    0,                          /* has sup protos */
    NULL,                       /* no sub protos */
    1,                          /* has constants */
    &be_ktab_class_SequenceManager,     /* shared constants */
    be_str_weak(execute_closure_steps_batch_atomic),
    &be_const_str_solidified,
    ( &(const binstruction[77]) {  /* code */
      0x880C0108,  //  0000  GETMBR	R3	R0	K8
      0x6010000C,  //  0001  GETGBL	R4	G12
      0x88140103,  //  0002  GETMBR	R5	R0	K3
      0x7C100200,  //  0003  CALL	R4	1
      0x140C0604,  //  0004  LT	R3	R3	R4
      0x780E0012,  //  0005  JMPF	R3	#0019
      0x880C0103,  //  0006  GETMBR	R3	R0	K3
      0x88100108,  //  0007  GETMBR	R4	R0	K8
      0x940C0604,  //  0008  GETIDX	R3	R3	R4
      0x94100705,  //  0009  GETIDX	R4	R3	K5
      0x1C100909,  //  000A  EQ	R4	R4	K9
      0x7812000A,  //  000B  JMPF	R4	#0017
      0x94100709,  //  000C  GETIDX	R4	R3	K9
      0x4C140000,  //  000D  LDNIL	R5
      0x20140805,  //  000E  NE	R5	R4	R5
      0x78160002,  //  000F  JMPF	R5	#0013
      0x5C140800,  //  0010  MOVE	R5	R4
      0x88180102,  //  0011  GETMBR	R6	R0	K2
      0x7C140200,  //  0012  CALL	R5	1
      0x88140108,  //  0013  GETMBR	R5	R0	K8
      0x00140B0A,  //  0014  ADD	R5	R5	K10
      0x90021005,  //  0015  SETMBR	R0	K8	R5
      0x70020000,  //  0016  JMP		#0018
      0x70020000,  //  0017  JMP		#0019
      0x7001FFE6,  //  0018  JMP		#0000
      0x4C0C0000,  //  0019  LDNIL	R3
      0x50100000,  //  001A  LDBOOL	R4	0	0
      0x88140108,  //  001B  GETMBR	R5	R0	K8
      0x6018000C,  //  001C  GETGBL	R6	G12
      0x881C0103,  //  001D  GETMBR	R7	R0	K3
      0x7C180200,  //  001E  CALL	R6	1
      0x14140A06,  //  001F  LT	R5	R5	R6
      0x7816000B,  //  0020  JMPF	R5	#002D
      0x88140103,  //  0021  GETMBR	R5	R0	K3
      0x88180108,  //  0022  GETMBR	R6	R0	K8
      0x940C0A06,  //  0023  GETIDX	R3	R5	R6
      0x94180705,  //  0024  GETIDX	R6	R3	K5
      0x1C180D0D,  //  0025  EQ	R6	R6	K13
      0x781A0005,  //  0026  JMPF	R6	#002D
      0x4C180000,  //  0027  LDNIL	R6
      0x20180406,  //  0028  NE	R6	R2	R6
      0x781A0002,  //  0029  JMPF	R6	#002D
      0x9418070E,  //  002A  GETIDX	R6	R3	K14
      0x1C180C02,  //  002B  EQ	R6	R6	R2
      0x5C100C00,  //  002C  MOVE	R4	R6
      0x78120004,  //  002D  JMPF	R4	#0033
      0x90021E01,  //  002E  SETMBR	R0	K15	R1
      0x8C140510,  //  002F  GETMET	R5	R2	K16
      0x5C1C0200,  //  0030  MOVE	R7	R1
      0x7C140400,  //  0031  CALL	R5	2
      0x7002000F,  //  0032  JMP		#0043
      0x88140108,  //  0033  GETMBR	R5	R0	K8
      0x6018000C,  //  0034  GETGBL	R6	G12
      0x881C0103,  //  0035  GETMBR	R7	R0	K3
      0x7C180200,  //  0036  CALL	R6	1
      0x14140A06,  //  0037  LT	R5	R5	R6
      0x78160002,  //  0038  JMPF	R5	#003C
      0x8C14010B,  //  0039  GETMET	R5	R0	K11
      0x5C1C0200,  //  003A  MOVE	R7	R1
      0x7C140400,  //  003B  CALL	R5	2
      0x4C140000,  //  003C  LDNIL	R5
      0x20140405,  //  003D  NE	R5	R2	R5
      0x78160003,  //  003E  JMPF	R5	#0043
      0x88140102,  //  003F  GETMBR	R5	R0	K2
      0x8C140B11,  //  0040  GETMET	R5	R5	K17
      0x5C1C0400,  //  0041  MOVE	R7	R2
      0x7C140400,  //  0042  CALL	R5	2
      0x88140108,  //  0043  GETMBR	R5	R0	K8
      0x6018000C,  //  0044  GETGBL	R6	G12
      0x881C0103,  //  0045  GETMBR	R7	R0	K3
      0x7C180200,  //  0046  CALL	R6	1
      0x28140A06,  //  0047  GE	R5	R5	R6
      0x78160002,  //  0048  JMPF	R5	#004C
      0x8C14010C,  //  0049  GETMET	R5	R0	K12
      0x5C1C0200,  //  004A  MOVE	R7	R1
      0x7C140400,  //  004B  CALL	R5	2
      0x80000000,  //  004C  RET	0
    })
  )
);
/*******************************************************************/


/********************************************************************
** Solidified function: stop_all_subsequences
********************************************************************/
be_local_closure(class_SequenceManager_stop_all_subsequences,   /* name */
  be_nested_proto(
    6,                          /* nstack */
    1,                          /* argc */
    10,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    0,                          /* has sup protos */
    NULL,                       /* no sub protos */
    1,                          /* has constants */
    &be_ktab_class_SequenceManager,     /* shared constants */
    be_str_weak(stop_all_subsequences),
    &be_const_str_solidified,
    ( &(const binstruction[17]) {  /* code */
      0x60040010,  //  0000  GETGBL	R1	G16
      0x88080103,  //  0001  GETMBR	R2	R0	K3
      0x7C040200,  //  0002  CALL	R1	1
      0xA8020008,  //  0003  EXBLK	0	#000D
      0x5C080200,  //  0004  MOVE	R2	R1
      0x7C080000,  //  0005  CALL	R2	0
      0x940C0505,  //  0006  GETIDX	R3	R2	K5
      0x1C0C0712,  //  0007  EQ	R3	R3	K18
      0x780E0002,  //  0008  JMPF	R3	#000C
      0x940C0513,  //  0009  GETIDX	R3	R2	K19
      0x8C100714,  //  000A  GETMET	R4	R3	K20
      0x7C100200,  //  000B  CALL	R4	1
      0x7001FFF6,  //  000C  JMP		#0004
      0x58040015,  //  000D  LDCONST	R1	K21
      0xAC040200,  //  000E  CATCH	R1	1	0
      0xB0080000,  //  000F  RAISE	2	R0	R0
      0x80040000,  //  0010  RET	1	R0
    })
  )
);
/*******************************************************************/


/********************************************************************
** Solidified function: push_play_step
********************************************************************/
be_local_closure(class_SequenceManager_push_play_step,   /* name */
  be_nested_proto(
    7,                          /* nstack */
    3,                          /* argc */
    10,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    0,                          /* has sup protos */
    NULL,                       /* no sub protos */
    1,                          /* has constants */
    &be_ktab_class_SequenceManager,     /* shared constants */
    be_str_weak(push_play_step),
    &be_const_str_solidified,
    ( &(const binstruction[15]) {  /* code */
      0x880C0103,  //  0000  GETMBR	R3	R0	K3
      0x8C0C0704,  //  0001  GETMET	R3	R3	K4
      0x60140013,  //  0002  GETGBL	R5	G19
      0x7C140000,  //  0003  CALL	R5	0
      0x98160B0D,  //  0004  SETIDX	R5	K5	K13
      0x98161C01,  //  0005  SETIDX	R5	K14	R1
      0x4C180000,  //  0006  LDNIL	R6
      0x20180406,  //  0007  NE	R6	R2	R6
      0x781A0001,  //  0008  JMPF	R6	#000B
      0x5C180400,  //  0009  MOVE	R6	R2
      0x70020000,  //  000A  JMP		#000C
      0x58180016,  //  000B  LDCONST	R6	K22
      0x98160E06,  //  000C  SETIDX	R5	K7	R6
      0x7C0C0400,  //  000D  CALL	R3	2
      0x80040000,  //  000E  RET	1	R0
    })
  )
);
/*******************************************************************/


/********************************************************************
** Solidified function: init
********************************************************************/
be_local_closure(class_SequenceManager_init,   /* name */
  be_nested_proto(
    6,                          /* nstack */
    3,                          /* argc */
    10,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    0,                          /* has sup protos */
    NULL,                       /* no sub protos */
    1,                          /* has constants */
    &be_ktab_class_SequenceManager,     /* shared constants */
    be_str_weak(init),
    &be_const_str_solidified,
    ( &(const binstruction[33]) {  /* code */
      0x600C0003,  //  0000  GETGBL	R3	G3
      0x5C100000,  //  0001  MOVE	R4	R0
      0x7C0C0200,  //  0002  CALL	R3	1
      0x8C0C0717,  //  0003  GETMET	R3	R3	K23
      0x5C140200,  //  0004  MOVE	R5	R1
      0x7C0C0400,  //  0005  CALL	R3	2
      0x4C0C0000,  //  0006  LDNIL	R3
      0x90023003,  //  0007  SETMBR	R0	K24	R3
      0x600C0013,  //  0008  GETGBL	R3	G19
      0x7C0C0000,  //  0009  CALL	R3	0
      0x90023203,  //  000A  SETMBR	R0	K25	R3
      0x90021116,  //  000B  SETMBR	R0	K8	K22
      0x90021F16,  //  000C  SETMBR	R0	K15	K22
      0x600C0012,  //  000D  GETGBL	R3	G18
      0x7C0C0000,  //  000E  CALL	R3	0
      0x90020603,  //  000F  SETMBR	R0	K3	R3
      0x4C0C0000,  //  0010  LDNIL	R3
      0x200C0403,  //  0011  NE	R3	R2	R3
      0x780E0001,  //  0012  JMPF	R3	#0015
      0x5C0C0400,  //  0013  MOVE	R3	R2
      0x70020000,  //  0014  JMP		#0016
      0x580C000A,  //  0015  LDCONST	R3	K10
      0x90020003,  //  0016  SETMBR	R0	K0	R3
      0x90023516,  //  0017  SETMBR	R0	K26	K22
      0x4C0C0000,  //  0018  LDNIL	R3
      0x200C0403,  //  0019  NE	R3	R2	R3
      0x780E0001,  //  001A  JMPF	R3	#001D
      0x200C050A,  //  001B  NE	R3	R2	K10
      0x740E0000,  //  001C  JMPT	R3	#001E
      0x500C0001,  //  001D  LDBOOL	R3	0	1
      0x500C0200,  //  001E  LDBOOL	R3	1	0
      0x90023603,  //  001F  SETMBR	R0	K27	R3
      0x80000000,  //  0020  RET	0
    })
  )
);
/*******************************************************************/


/********************************************************************
** Solidified function: update
********************************************************************/
be_local_closure(class_SequenceManager_update,   /* name */
  be_nested_proto(
    8,                          /* nstack */
    2,                          /* argc */
    10,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    0,                          /* has sup protos */
    NULL,                       /* no sub protos */
    1,                          /* has constants */
    &be_ktab_class_SequenceManager,     /* shared constants */
    be_str_weak(update),
    &be_const_str_solidified,
    ( &(const binstruction[74]) {  /* code */
      0x8808011C,  //  0000  GETMBR	R2	R0	K28
      0x780A0004,  //  0001  JMPF	R2	#0007
      0x6008000C,  //  0002  GETGBL	R2	G12
      0x880C0103,  //  0003  GETMBR	R3	R0	K3
      0x7C080200,  //  0004  CALL	R2	1
      0x1C080516,  //  0005  EQ	R2	R2	K22
      0x780A0000,  //  0006  JMPF	R2	#0008
      0x80000400,  //  0007  RET	0
      0x88080108,  //  0008  GETMBR	R2	R0	K8
      0x600C000C,  //  0009  GETGBL	R3	G12
      0x88100103,  //  000A  GETMBR	R4	R0	K3
      0x7C0C0200,  //  000B  CALL	R3	1
      0x28080403,  //  000C  GE	R2	R2	R3
      0x780A0000,  //  000D  JMPF	R2	#000F
      0x80000400,  //  000E  RET	0
      0x88080103,  //  000F  GETMBR	R2	R0	K3
      0x880C0108,  //  0010  GETMBR	R3	R0	K8
      0x94080403,  //  0011  GETIDX	R2	R2	R3
      0x940C0505,  //  0012  GETIDX	R3	R2	K5
      0x1C0C0712,  //  0013  EQ	R3	R3	K18
      0x780E0009,  //  0014  JMPF	R3	#001F
      0x940C0513,  //  0015  GETIDX	R3	R2	K19
      0x8C10071D,  //  0016  GETMET	R4	R3	K29
      0x5C180200,  //  0017  MOVE	R6	R1
      0x7C100400,  //  0018  CALL	R4	2
      0x8810071C,  //  0019  GETMBR	R4	R3	K28
      0x74120002,  //  001A  JMPT	R4	#001E
      0x8C10011E,  //  001B  GETMET	R4	R0	K30
      0x5C180200,  //  001C  MOVE	R6	R1
      0x7C100400,  //  001D  CALL	R4	2
      0x70020029,  //  001E  JMP		#0049
      0x940C0505,  //  001F  GETIDX	R3	R2	K5
      0x1C0C0709,  //  0020  EQ	R3	R3	K9
      0x780E0003,  //  0021  JMPF	R3	#0026
      0x8C0C011F,  //  0022  GETMET	R3	R0	K31
      0x5C140200,  //  0023  MOVE	R5	R1
      0x7C0C0400,  //  0024  CALL	R3	2
      0x70020022,  //  0025  JMP		#0049
      0x8C0C0520,  //  0026  GETMET	R3	R2	K32
      0x58140007,  //  0027  LDCONST	R5	K7
      0x7C0C0400,  //  0028  CALL	R3	2
      0x780E001B,  //  0029  JMPF	R3	#0046
      0x940C0507,  //  002A  GETIDX	R3	R2	K7
      0x4C100000,  //  002B  LDNIL	R4
      0x200C0604,  //  002C  NE	R3	R3	R4
      0x780E0017,  //  002D  JMPF	R3	#0046
      0x940C0507,  //  002E  GETIDX	R3	R2	K7
      0x60100004,  //  002F  GETGBL	R4	G4
      0x5C140600,  //  0030  MOVE	R5	R3
      0x7C100200,  //  0031  CALL	R4	1
      0x1C100901,  //  0032  EQ	R4	R4	K1
      0x78120003,  //  0033  JMPF	R4	#0038
      0x5C100600,  //  0034  MOVE	R4	R3
      0x88140102,  //  0035  GETMBR	R5	R0	K2
      0x7C100200,  //  0036  CALL	R4	1
      0x5C0C0800,  //  0037  MOVE	R3	R4
      0x24100716,  //  0038  GT	R4	R3	K22
      0x78120007,  //  0039  JMPF	R4	#0042
      0x8810010F,  //  003A  GETMBR	R4	R0	K15
      0x04100204,  //  003B  SUB	R4	R1	R4
      0x28140803,  //  003C  GE	R5	R4	R3
      0x78160002,  //  003D  JMPF	R5	#0041
      0x8C14011E,  //  003E  GETMET	R5	R0	K30
      0x5C1C0200,  //  003F  MOVE	R7	R1
      0x7C140400,  //  0040  CALL	R5	2
      0x70020002,  //  0041  JMP		#0045
      0x8C10011E,  //  0042  GETMET	R4	R0	K30
      0x5C180200,  //  0043  MOVE	R6	R1
      0x7C100400,  //  0044  CALL	R4	2
      0x70020002,  //  0045  JMP		#0049
      0x8C0C011E,  //  0046  GETMET	R3	R0	K30
      0x5C140200,  //  0047  MOVE	R5	R1
      0x7C0C0400,  //  0048  CALL	R3	2
      0x80000000,  //  0049  RET	0
    })
  )
);
/*******************************************************************/


/********************************************************************
** Solidified function: push_repeat_subsequence
********************************************************************/
be_local_closure(class_SequenceManager_push_repeat_subsequence,   /* name */
  be_nested_proto(
    5,                          /* nstack */
    2,                          /* argc */
    10,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    0,                          /* has sup protos */
    NULL,                       /* no sub protos */
    1,                          /* has constants */
    &be_ktab_class_SequenceManager,     /* shared constants */
    be_str_weak(push_repeat_subsequence),
    &be_const_str_solidified,
    ( &(const binstruction[ 8]) {  /* code */
      0x88080103,  //  0000  GETMBR	R2	R0	K3
      0x8C080504,  //  0001  GETMET	R2	R2	K4
      0x60100013,  //  0002  GETGBL	R4	G19
      0x7C100000,  //  0003  CALL	R4	0
      0x98120B12,  //  0004  SETIDX	R4	K5	K18
      0x98122601,  //  0005  SETIDX	R4	K19	R1
      0x7C080400,  //  0006  CALL	R2	2
      0x80040000,  //  0007  RET	1	R0
    })
  )
);
/*******************************************************************/


/********************************************************************
** Solidified function: complete_iteration
********************************************************************/
be_local_closure(class_SequenceManager_complete_iteration,   /* name */
  be_nested_proto(
    7,                          /* nstack */
    2,                          /* argc */
    10,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    0,                          /* has sup protos */
    NULL,                       /* no sub protos */
    1,                          /* has constants */
    &be_ktab_class_SequenceManager,     /* shared constants */
    be_str_weak(complete_iteration),
    &be_const_str_solidified,
    ( &(const binstruction[61]) {  /* code */
      0x8808011A,  //  0000  GETMBR	R2	R0	K26
      0x0008050A,  //  0001  ADD	R2	R2	K10
      0x90023402,  //  0002  SETMBR	R0	K26	R2
      0x8808011B,  //  0003  GETMBR	R2	R0	K27
      0x780A0003,  //  0004  JMPF	R2	#0009
      0x88080102,  //  0005  GETMBR	R2	R0	K2
      0x8C080521,  //  0006  GETMET	R2	R2	K33
      0x8810011A,  //  0007  GETMBR	R4	R0	K26
      0x7C080400,  //  0008  CALL	R2	2
      0x8C080122,  //  0009  GETMET	R2	R0	K34
      0x7C080200,  //  000A  CALL	R2	1
      0x540DFFFE,  //  000B  LDINT	R3	-1
      0x1C0C0403,  //  000C  EQ	R3	R2	R3
      0x740E0002,  //  000D  JMPT	R3	#0011
      0x880C011A,  //  000E  GETMBR	R3	R0	K26
      0x140C0602,  //  000F  LT	R3	R3	R2
      0x780E0023,  //  0010  JMPF	R3	#0035
      0x90021116,  //  0011  SETMBR	R0	K8	K22
      0x880C0108,  //  0012  GETMBR	R3	R0	K8
      0x6010000C,  //  0013  GETGBL	R4	G12
      0x88140103,  //  0014  GETMBR	R5	R0	K3
      0x7C100200,  //  0015  CALL	R4	1
      0x140C0604,  //  0016  LT	R3	R3	R4
      0x780E0012,  //  0017  JMPF	R3	#002B
      0x880C0103,  //  0018  GETMBR	R3	R0	K3
      0x88100108,  //  0019  GETMBR	R4	R0	K8
      0x940C0604,  //  001A  GETIDX	R3	R3	R4
      0x94100705,  //  001B  GETIDX	R4	R3	K5
      0x1C100909,  //  001C  EQ	R4	R4	K9
      0x7812000A,  //  001D  JMPF	R4	#0029
      0x94100709,  //  001E  GETIDX	R4	R3	K9
      0x4C140000,  //  001F  LDNIL	R5
      0x20140805,  //  0020  NE	R5	R4	R5
      0x78160002,  //  0021  JMPF	R5	#0025
      0x5C140800,  //  0022  MOVE	R5	R4
      0x88180102,  //  0023  GETMBR	R6	R0	K2
      0x7C140200,  //  0024  CALL	R5	1
      0x88140108,  //  0025  GETMBR	R5	R0	K8
      0x00140B0A,  //  0026  ADD	R5	R5	K10
      0x90021005,  //  0027  SETMBR	R0	K8	R5
      0x70020000,  //  0028  JMP		#002A
      0x70020000,  //  0029  JMP		#002B
      0x7001FFE6,  //  002A  JMP		#0012
      0x880C0108,  //  002B  GETMBR	R3	R0	K8
      0x6010000C,  //  002C  GETGBL	R4	G12
      0x88140103,  //  002D  GETMBR	R5	R0	K3
      0x7C100200,  //  002E  CALL	R4	1
      0x140C0604,  //  002F  LT	R3	R3	R4
      0x780E0002,  //  0030  JMPF	R3	#0034
      0x8C0C010B,  //  0031  GETMET	R3	R0	K11
      0x5C140200,  //  0032  MOVE	R5	R1
      0x7C0C0400,  //  0033  CALL	R3	2
      0x70020006,  //  0034  JMP		#003C
      0x500C0000,  //  0035  LDBOOL	R3	0	0
      0x90023803,  //  0036  SETMBR	R0	K28	R3
      0x880C011B,  //  0037  GETMBR	R3	R0	K27
      0x780E0002,  //  0038  JMPF	R3	#003C
      0x880C0102,  //  0039  GETMBR	R3	R0	K2
      0x8C0C0723,  //  003A  GETMET	R3	R3	K35
      0x7C0C0200,  //  003B  CALL	R3	1
      0x80000000,  //  003C  RET	0
    })
  )
);
/*******************************************************************/


/********************************************************************
** Solidified function: is_sequence_running
********************************************************************/
be_local_closure(class_SequenceManager_is_sequence_running,   /* name */
  be_nested_proto(
    2,                          /* nstack */
    1,                          /* argc */
    10,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    0,                          /* has sup protos */
    NULL,                       /* no sub protos */
    1,                          /* has constants */
    &be_ktab_class_SequenceManager,     /* shared constants */
    be_str_weak(is_sequence_running),
    &be_const_str_solidified,
    ( &(const binstruction[ 2]) {  /* code */
      0x8804011C,  //  0000  GETMBR	R1	R0	K28
      0x80040200,  //  0001  RET	1	R1
    })
  )
);
/*******************************************************************/


/********************************************************************
** Solidified function: push_step
********************************************************************/
be_local_closure(class_SequenceManager_push_step,   /* name */
  be_nested_proto(
    5,                          /* nstack */
    2,                          /* argc */
    10,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    0,                          /* has sup protos */
    NULL,                       /* no sub protos */
    1,                          /* has constants */
    &be_ktab_class_SequenceManager,     /* shared constants */
    be_str_weak(push_step),
    &be_const_str_solidified,
    ( &(const binstruction[ 5]) {  /* code */
      0x88080103,  //  0000  GETMBR	R2	R0	K3
      0x8C080504,  //  0001  GETMET	R2	R2	K4
      0x5C100200,  //  0002  MOVE	R4	R1
      0x7C080400,  //  0003  CALL	R2	2
      0x80040000,  //  0004  RET	1	R0
    })
  )
);
/*******************************************************************/


/********************************************************************
** Solidified function: push_closure_step
********************************************************************/
be_local_closure(class_SequenceManager_push_closure_step,   /* name */
  be_nested_proto(
    5,                          /* nstack */
    2,                          /* argc */
    10,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    0,                          /* has sup protos */
    NULL,                       /* no sub protos */
    1,                          /* has constants */
    &be_ktab_class_SequenceManager,     /* shared constants */
    be_str_weak(push_closure_step),
    &be_const_str_solidified,
    ( &(const binstruction[ 8]) {  /* code */
      0x88080103,  //  0000  GETMBR	R2	R0	K3
      0x8C080504,  //  0001  GETMET	R2	R2	K4
      0x60100013,  //  0002  GETGBL	R4	G19
      0x7C100000,  //  0003  CALL	R4	0
      0x98120B09,  //  0004  SETIDX	R4	K5	K9
      0x98121201,  //  0005  SETIDX	R4	K9	R1
      0x7C080400,  //  0006  CALL	R2	2
      0x80040000,  //  0007  RET	1	R0
    })
  )
);
/*******************************************************************/


/********************************************************************
** Solidified function: stop
********************************************************************/
be_local_closure(class_SequenceManager_stop,   /* name */
  be_nested_proto(
    6,                          /* nstack */
    1,                          /* argc */
    10,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    0,                          /* has sup protos */
    NULL,                       /* no sub protos */
    1,                          /* has constants */
    &be_ktab_class_SequenceManager,     /* shared constants */
    be_str_weak(stop),
    &be_const_str_solidified,
    ( &(const binstruction[36]) {  /* code */
      0x8804011C,  //  0000  GETMBR	R1	R0	K28
      0x78060020,  //  0001  JMPF	R1	#0023
      0x50040000,  //  0002  LDBOOL	R1	0	0
      0x90023801,  //  0003  SETMBR	R0	K28	R1
      0x8804011B,  //  0004  GETMBR	R1	R0	K27
      0x78060002,  //  0005  JMPF	R1	#0009
      0x88040102,  //  0006  GETMBR	R1	R0	K2
      0x8C040323,  //  0007  GETMET	R1	R1	K35
      0x7C040200,  //  0008  CALL	R1	1
      0x88040108,  //  0009  GETMBR	R1	R0	K8
      0x6008000C,  //  000A  GETGBL	R2	G12
      0x880C0103,  //  000B  GETMBR	R3	R0	K3
      0x7C080200,  //  000C  CALL	R2	1
      0x14040202,  //  000D  LT	R1	R1	R2
      0x78060011,  //  000E  JMPF	R1	#0021
      0x88040103,  //  000F  GETMBR	R1	R0	K3
      0x88080108,  //  0010  GETMBR	R2	R0	K8
      0x94040202,  //  0011  GETIDX	R1	R1	R2
      0x94080305,  //  0012  GETIDX	R2	R1	K5
      0x1C08050D,  //  0013  EQ	R2	R2	K13
      0x780A0005,  //  0014  JMPF	R2	#001B
      0x9408030E,  //  0015  GETIDX	R2	R1	K14
      0x880C0102,  //  0016  GETMBR	R3	R0	K2
      0x8C0C0711,  //  0017  GETMET	R3	R3	K17
      0x5C140400,  //  0018  MOVE	R5	R2
      0x7C0C0400,  //  0019  CALL	R3	2
      0x70020005,  //  001A  JMP		#0021
      0x94080305,  //  001B  GETIDX	R2	R1	K5
      0x1C080512,  //  001C  EQ	R2	R2	K18
      0x780A0002,  //  001D  JMPF	R2	#0021
      0x94080313,  //  001E  GETIDX	R2	R1	K19
      0x8C0C0514,  //  001F  GETMET	R3	R2	K20
      0x7C0C0200,  //  0020  CALL	R3	1
      0x8C040124,  //  0021  GETMET	R1	R0	K36
      0x7C040200,  //  0022  CALL	R1	1
      0x80040000,  //  0023  RET	1	R0
    })
  )
);
/*******************************************************************/


/********************************************************************
** Solidified function: advance_to_next_step
********************************************************************/
be_local_closure(class_SequenceManager_advance_to_next_step,   /* name */
  be_nested_proto(
    8,                          /* nstack */
    2,                          /* argc */
    10,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    0,                          /* has sup protos */
    NULL,                       /* no sub protos */
    1,                          /* has constants */
    &be_ktab_class_SequenceManager,     /* shared constants */
    be_str_weak(advance_to_next_step),
    &be_const_str_solidified,
    ( &(const binstruction[37]) {  /* code */
      0x88080103,  //  0000  GETMBR	R2	R0	K3
      0x880C0108,  //  0001  GETMBR	R3	R0	K8
      0x94080403,  //  0002  GETIDX	R2	R2	R3
      0x4C0C0000,  //  0003  LDNIL	R3
      0x94100505,  //  0004  GETIDX	R4	R2	K5
      0x1C10090D,  //  0005  EQ	R4	R4	K13
      0x78120004,  //  0006  JMPF	R4	#000C
      0x8C100520,  //  0007  GETMET	R4	R2	K32
      0x58180007,  //  0008  LDCONST	R6	K7
      0x7C100400,  //  0009  CALL	R4	2
      0x78120000,  //  000A  JMPF	R4	#000C
      0x940C050E,  //  000B  GETIDX	R3	R2	K14
      0x88100108,  //  000C  GETMBR	R4	R0	K8
      0x0010090A,  //  000D  ADD	R4	R4	K10
      0x90021004,  //  000E  SETMBR	R0	K8	R4
      0x88100108,  //  000F  GETMBR	R4	R0	K8
      0x6014000C,  //  0010  GETGBL	R5	G12
      0x88180103,  //  0011  GETMBR	R6	R0	K3
      0x7C140200,  //  0012  CALL	R5	1
      0x28100805,  //  0013  GE	R4	R4	R5
      0x7812000A,  //  0014  JMPF	R4	#0020
      0x4C100000,  //  0015  LDNIL	R4
      0x20100604,  //  0016  NE	R4	R3	R4
      0x78120003,  //  0017  JMPF	R4	#001C
      0x88100102,  //  0018  GETMBR	R4	R0	K2
      0x8C100911,  //  0019  GETMET	R4	R4	K17
      0x5C180600,  //  001A  MOVE	R6	R3
      0x7C100400,  //  001B  CALL	R4	2
      0x8C10010C,  //  001C  GETMET	R4	R0	K12
      0x5C180200,  //  001D  MOVE	R6	R1
      0x7C100400,  //  001E  CALL	R4	2
      0x70020003,  //  001F  JMP		#0024
      0x8C100125,  //  0020  GETMET	R4	R0	K37
      0x5C180200,  //  0021  MOVE	R6	R1
      0x5C1C0600,  //  0022  MOVE	R7	R3
      0x7C100600,  //  0023  CALL	R4	3
      0x80000000,  //  0024  RET	0
    })
  )
);
/*******************************************************************/


/********************************************************************
** Solidified function: start
********************************************************************/
be_local_closure(class_SequenceManager_start,   /* name */
  be_nested_proto(
    7,                          /* nstack */
    2,                          /* argc */
    10,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    0,                          /* has sup protos */
    NULL,                       /* no sub protos */
    1,                          /* has constants */
    &be_ktab_class_SequenceManager,     /* shared constants */
    be_str_weak(start),
    &be_const_str_solidified,
    ( &(const binstruction[65]) {  /* code */
      0x8808011C,  //  0000  GETMBR	R2	R0	K28
      0x780A0003,  //  0001  JMPF	R2	#0006
      0x50080000,  //  0002  LDBOOL	R2	0	0
      0x90023802,  //  0003  SETMBR	R0	K28	R2
      0x8C080124,  //  0004  GETMET	R2	R0	K36
      0x7C080200,  //  0005  CALL	R2	1
      0x90021116,  //  0006  SETMBR	R0	K8	K22
      0x90021E01,  //  0007  SETMBR	R0	K15	R1
      0x90023516,  //  0008  SETMBR	R0	K26	K22
      0x50080200,  //  0009  LDBOOL	R2	1	0
      0x90023802,  //  000A  SETMBR	R0	K28	R2
      0x90024C01,  //  000B  SETMBR	R0	K38	R1
      0x8C080122,  //  000C  GETMET	R2	R0	K34
      0x7C080200,  //  000D  CALL	R2	1
      0x1C0C0516,  //  000E  EQ	R3	R2	K22
      0x780E0002,  //  000F  JMPF	R3	#0013
      0x500C0000,  //  0010  LDBOOL	R3	0	0
      0x90023803,  //  0011  SETMBR	R0	K28	R3
      0x80040000,  //  0012  RET	1	R0
      0x880C011B,  //  0013  GETMBR	R3	R0	K27
      0x780E0003,  //  0014  JMPF	R3	#0019
      0x880C0102,  //  0015  GETMBR	R3	R0	K2
      0x8C0C0727,  //  0016  GETMET	R3	R3	K39
      0x8814011A,  //  0017  GETMBR	R5	R0	K26
      0x7C0C0400,  //  0018  CALL	R3	2
      0x600C000C,  //  0019  GETGBL	R3	G12
      0x88100103,  //  001A  GETMBR	R4	R0	K3
      0x7C0C0200,  //  001B  CALL	R3	1
      0x240C0716,  //  001C  GT	R3	R3	K22
      0x780E0021,  //  001D  JMPF	R3	#0040
      0x880C0108,  //  001E  GETMBR	R3	R0	K8
      0x6010000C,  //  001F  GETGBL	R4	G12
      0x88140103,  //  0020  GETMBR	R5	R0	K3
      0x7C100200,  //  0021  CALL	R4	1
      0x140C0604,  //  0022  LT	R3	R3	R4
      0x780E0012,  //  0023  JMPF	R3	#0037
      0x880C0103,  //  0024  GETMBR	R3	R0	K3
      0x88100108,  //  0025  GETMBR	R4	R0	K8
      0x940C0604,  //  0026  GETIDX	R3	R3	R4
      0x94100705,  //  0027  GETIDX	R4	R3	K5
      0x1C100909,  //  0028  EQ	R4	R4	K9
      0x7812000A,  //  0029  JMPF	R4	#0035
      0x94100709,  //  002A  GETIDX	R4	R3	K9
      0x4C140000,  //  002B  LDNIL	R5
      0x20140805,  //  002C  NE	R5	R4	R5
      0x78160002,  //  002D  JMPF	R5	#0031
      0x5C140800,  //  002E  MOVE	R5	R4
      0x88180102,  //  002F  GETMBR	R6	R0	K2
      0x7C140200,  //  0030  CALL	R5	1
      0x88140108,  //  0031  GETMBR	R5	R0	K8
      0x00140B0A,  //  0032  ADD	R5	R5	K10
      0x90021005,  //  0033  SETMBR	R0	K8	R5
      0x70020000,  //  0034  JMP		#0036
      0x70020000,  //  0035  JMP		#0037
      0x7001FFE6,  //  0036  JMP		#001E
      0x880C0108,  //  0037  GETMBR	R3	R0	K8
      0x6010000C,  //  0038  GETGBL	R4	G12
      0x88140103,  //  0039  GETMBR	R5	R0	K3
      0x7C100200,  //  003A  CALL	R4	1
      0x140C0604,  //  003B  LT	R3	R3	R4
      0x780E0002,  //  003C  JMPF	R3	#0040
      0x8C0C010B,  //  003D  GETMET	R3	R0	K11
      0x5C140200,  //  003E  MOVE	R5	R1
      0x7C0C0400,  //  003F  CALL	R3	2
      0x80040000,  //  0040  RET	1	R0
    })
  )
);
/*******************************************************************/


/********************************************************************
** Solidified function: tostring
********************************************************************/
be_local_closure(class_SequenceManager_tostring,   /* name */
  be_nested_proto(
    8,                          /* nstack */
    1,                          /* argc */
    10,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    0,                          /* has sup protos */
    NULL,                       /* no sub protos */
    1,                          /* has constants */
    &be_ktab_class_SequenceManager,     /* shared constants */
    be_str_weak(tostring),
    &be_const_str_solidified,
    ( &(const binstruction[30]) {  /* code */
      0x58040028,  //  0000  LDCONST	R1	K40
      0x8808011B,  //  0001  GETMBR	R2	R0	K27
      0x780A0010,  //  0002  JMPF	R2	#0014
      0x8C080122,  //  0003  GETMET	R2	R0	K34
      0x7C080200,  //  0004  CALL	R2	1
      0x540DFFFE,  //  0005  LDINT	R3	-1
      0x1C0C0403,  //  0006  EQ	R3	R2	R3
      0x780E0005,  //  0007  JMPF	R3	#000E
      0x600C0018,  //  0008  GETGBL	R3	G24
      0x58100029,  //  0009  LDCONST	R4	K41
      0x8814011A,  //  000A  GETMBR	R5	R0	K26
      0x7C0C0400,  //  000B  CALL	R3	2
      0x5C040600,  //  000C  MOVE	R1	R3
      0x70020005,  //  000D  JMP		#0014
      0x600C0018,  //  000E  GETGBL	R3	G24
      0x5810002A,  //  000F  LDCONST	R4	K42
      0x5C140400,  //  0010  MOVE	R5	R2
      0x8818011A,  //  0011  GETMBR	R6	R0	K26
      0x7C0C0600,  //  0012  CALL	R3	3
      0x5C040600,  //  0013  MOVE	R1	R3
      0x60080018,  //  0014  GETGBL	R2	G24
      0x580C002B,  //  0015  LDCONST	R3	K43
      0x6010000C,  //  0016  GETGBL	R4	G12
      0x88140103,  //  0017  GETMBR	R5	R0	K3
      0x7C100200,  //  0018  CALL	R4	1
      0x88140108,  //  0019  GETMBR	R5	R0	K8
      0x8818011C,  //  001A  GETMBR	R6	R0	K28
      0x5C1C0200,  //  001B  MOVE	R7	R1
      0x7C080A00,  //  001C  CALL	R2	5
      0x80040400,  //  001D  RET	1	R2
    })
  )
);
/*******************************************************************/


/********************************************************************
** Solidified function: execute_current_step
********************************************************************/
be_local_closure(class_SequenceManager_execute_current_step,   /* name */
  be_nested_proto(
    9,                          /* nstack */
    2,                          /* argc */
    10,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    0,                          /* has sup protos */
    NULL,                       /* no sub protos */
    1,                          /* has constants */
    &be_ktab_class_SequenceManager,     /* shared constants */
    be_str_weak(execute_current_step),
    &be_const_str_solidified,
    ( &(const binstruction[84]) {  /* code */
      0x88080108,  //  0000  GETMBR	R2	R0	K8
      0x600C000C,  //  0001  GETGBL	R3	G12
      0x88100103,  //  0002  GETMBR	R4	R0	K3
      0x7C0C0200,  //  0003  CALL	R3	1
      0x28080403,  //  0004  GE	R2	R2	R3
      0x780A0003,  //  0005  JMPF	R2	#000A
      0x8C08010C,  //  0006  GETMET	R2	R0	K12
      0x5C100200,  //  0007  MOVE	R4	R1
      0x7C080400,  //  0008  CALL	R2	2
      0x80000400,  //  0009  RET	0
      0x88080103,  //  000A  GETMBR	R2	R0	K3
      0x880C0108,  //  000B  GETMBR	R3	R0	K8
      0x94080403,  //  000C  GETIDX	R2	R2	R3
      0x940C0505,  //  000D  GETIDX	R3	R2	K5
      0x1C0C070D,  //  000E  EQ	R3	R3	K13
      0x780E0022,  //  000F  JMPF	R3	#0033
      0x940C050E,  //  0010  GETIDX	R3	R2	K14
      0x4C100000,  //  0011  LDNIL	R4
      0x1C100604,  //  0012  EQ	R4	R3	R4
      0x78120000,  //  0013  JMPF	R4	#0015
      0x80000800,  //  0014  RET	0
      0x88100102,  //  0015  GETMBR	R4	R0	K2
      0x8C10092C,  //  0016  GETMET	R4	R4	K44
      0x7C100200,  //  0017  CALL	R4	1
      0x50140000,  //  0018  LDBOOL	R5	0	0
      0x60180010,  //  0019  GETGBL	R6	G16
      0x5C1C0800,  //  001A  MOVE	R7	R4
      0x7C180200,  //  001B  CALL	R6	1
      0xA8020008,  //  001C  EXBLK	0	#0026
      0x5C1C0C00,  //  001D  MOVE	R7	R6
      0x7C1C0000,  //  001E  CALL	R7	0
      0x1C200E03,  //  001F  EQ	R8	R7	R3
      0x78220001,  //  0020  JMPF	R8	#0023
      0x50140200,  //  0021  LDBOOL	R5	1	0
      0x70020000,  //  0022  JMP		#0024
      0x7001FFF8,  //  0023  JMP		#001D
      0xA8040001,  //  0024  EXBLK	1	1
      0x70020002,  //  0025  JMP		#0029
      0x58180015,  //  0026  LDCONST	R6	K21
      0xAC180200,  //  0027  CATCH	R6	1	0
      0xB0080000,  //  0028  RAISE	2	R0	R0
      0x5C180A00,  //  0029  MOVE	R6	R5
      0x741A0003,  //  002A  JMPT	R6	#002F
      0x88180102,  //  002B  GETMBR	R6	R0	K2
      0x8C180D2D,  //  002C  GETMET	R6	R6	K45
      0x5C200600,  //  002D  MOVE	R8	R3
      0x7C180400,  //  002E  CALL	R6	2
      0x8C180710,  //  002F  GETMET	R6	R3	K16
      0x5C200200,  //  0030  MOVE	R8	R1
      0x7C180400,  //  0031  CALL	R6	2
      0x7002001E,  //  0032  JMP		#0052
      0x940C0505,  //  0033  GETIDX	R3	R2	K5
      0x1C0C0706,  //  0034  EQ	R3	R3	K6
      0x780E0000,  //  0035  JMPF	R3	#0037
      0x7002001A,  //  0036  JMP		#0052
      0x940C0505,  //  0037  GETIDX	R3	R2	K5
      0x1C0C0714,  //  0038  EQ	R3	R3	K20
      0x780E0005,  //  0039  JMPF	R3	#0040
      0x940C050E,  //  003A  GETIDX	R3	R2	K14
      0x88100102,  //  003B  GETMBR	R4	R0	K2
      0x8C100911,  //  003C  GETMET	R4	R4	K17
      0x5C180600,  //  003D  MOVE	R6	R3
      0x7C100400,  //  003E  CALL	R4	2
      0x70020011,  //  003F  JMP		#0052
      0x940C0505,  //  0040  GETIDX	R3	R2	K5
      0x1C0C0709,  //  0041  EQ	R3	R3	K9
      0x780E0007,  //  0042  JMPF	R3	#004B
      0x940C0509,  //  0043  GETIDX	R3	R2	K9
      0x4C100000,  //  0044  LDNIL	R4
      0x20100604,  //  0045  NE	R4	R3	R4
      0x78120002,  //  0046  JMPF	R4	#004A
      0x5C100600,  //  0047  MOVE	R4	R3
      0x88140102,  //  0048  GETMBR	R5	R0	K2
      0x7C100200,  //  0049  CALL	R4	1
      0x70020006,  //  004A  JMP		#0052
      0x940C0505,  //  004B  GETIDX	R3	R2	K5
      0x1C0C0712,  //  004C  EQ	R3	R3	K18
      0x780E0003,  //  004D  JMPF	R3	#0052
      0x940C0513,  //  004E  GETIDX	R3	R2	K19
      0x8C100710,  //  004F  GETMET	R4	R3	K16
      0x5C180200,  //  0050  MOVE	R6	R1
      0x7C100400,  //  0051  CALL	R4	2
      0x90021E01,  //  0052  SETMBR	R0	K15	R1
      0x80000000,  //  0053  RET	0
    })
  )
);
/*******************************************************************/


/********************************************************************
** Solidified class: SequenceManager
********************************************************************/
extern const bclass be_class_ParameterizedObject;
be_local_class(SequenceManager,
    8,
    &be_class_ParameterizedObject,
    be_nested_map(26,
    ( (struct bmapnode*) &(const bmapnode[]) {
        { be_const_key_weak(execute_current_step, -1), be_const_closure(class_SequenceManager_execute_current_step_closure) },
        { be_const_key_weak(current_iteration, -1), be_const_var(6) },
        { be_const_key_weak(steps, -1), be_const_var(4) },
        { be_const_key_weak(tostring, -1), be_const_closure(class_SequenceManager_tostring_closure) },
        { be_const_key_weak(step_index, -1), be_const_var(2) },
        { be_const_key_weak(start, -1), be_const_closure(class_SequenceManager_start_closure) },
        { be_const_key_weak(stop_all_subsequences, 1), be_const_closure(class_SequenceManager_stop_all_subsequences_closure) },
        { be_const_key_weak(push_play_step, -1), be_const_closure(class_SequenceManager_push_play_step_closure) },
        { be_const_key_weak(complete_iteration, -1), be_const_closure(class_SequenceManager_complete_iteration_closure) },
        { be_const_key_weak(is_repeat_sequence, -1), be_const_var(7) },
        { be_const_key_weak(stop, -1), be_const_closure(class_SequenceManager_stop_closure) },
        { be_const_key_weak(push_closure_step, -1), be_const_closure(class_SequenceManager_push_closure_step_closure) },
        { be_const_key_weak(push_wait_step, 23), be_const_closure(class_SequenceManager_push_wait_step_closure) },
        { be_const_key_weak(push_repeat_subsequence, 3), be_const_closure(class_SequenceManager_push_repeat_subsequence_closure) },
        { be_const_key_weak(sequence_state, 8), be_const_var(1) },
        { be_const_key_weak(is_sequence_running, -1), be_const_closure(class_SequenceManager_is_sequence_running_closure) },
        { be_const_key_weak(push_step, -1), be_const_closure(class_SequenceManager_push_step_closure) },
        { be_const_key_weak(active_sequence, -1), be_const_var(0) },
        { be_const_key_weak(step_start_time, 11), be_const_var(3) },
        { be_const_key_weak(init, 10), be_const_closure(class_SequenceManager_init_closure) },
        { be_const_key_weak(advance_to_next_step, -1), be_const_closure(class_SequenceManager_advance_to_next_step_closure) },
        { be_const_key_weak(execute_closure_steps_batch, 5), be_const_closure(class_SequenceManager_execute_closure_steps_batch_closure) },
        { be_const_key_weak(get_resolved_repeat_count, 4), be_const_closure(class_SequenceManager_get_resolved_repeat_count_closure) },
        { be_const_key_weak(update, -1), be_const_closure(class_SequenceManager_update_closure) },
        { be_const_key_weak(repeat_count, -1), be_const_var(5) },
        { be_const_key_weak(execute_closure_steps_batch_atomic, 0), be_const_closure(class_SequenceManager_execute_closure_steps_batch_atomic_closure) },
    })),
    be_str_weak(SequenceManager)
);
// compact class 'Animation' ktab size: 26, total: 37 (saved 88 bytes)
static const bvalue be_ktab_class_Animation[26] = {
  /* K0   */  be_nested_str_weak(get_param_value),
  /* K1   */  be_nested_str_weak(color),
  /* K2   */  be_nested_str_weak(animation),
  /* K3   */  be_nested_str_weak(opacity_frame),
  /* K4   */  be_nested_str_weak(width),
  /* K5   */  be_nested_str_weak(frame_buffer),
  /* K6   */  be_nested_str_weak(clear),
  /* K7   */  be_nested_str_weak(is_running),
  /* K8   */  be_nested_str_weak(start),
  /* K9   */  be_nested_str_weak(start_time),
  /* K10  */  be_nested_str_weak(update),
  /* K11  */  be_nested_str_weak(render),
  /* K12  */  be_nested_str_weak(apply_opacity),
  /* K13  */  be_nested_str_weak(pixels),
  /* K14  */  be_nested_str_weak(duration),
  /* K15  */  be_const_int(0),
  /* K16  */  be_nested_str_weak(loop),
  /* K17  */  be_nested_str_weak(init),
  /* K18  */  be_nested_str_weak(get_color_at),
  /* K19  */  be_nested_str_weak(member),
  /* K20  */  be_nested_str_weak(fill_pixels),
  /* K21  */  be_nested_str_weak(opacity),
  /* K22  */  be_nested_str_weak(int),
  /* K23  */  be_nested_str_weak(_apply_opacity),
  /* K24  */  be_nested_str_weak(Animation_X28priority_X3D_X25s_X2C_X20duration_X3D_X25s_X2C_X20loop_X3D_X25s_X2C_X20running_X3D_X25s_X29),
  /* K25  */  be_nested_str_weak(priority),
};


extern const bclass be_class_Animation;

/********************************************************************
** Solidified function: get_color_at
********************************************************************/
be_local_closure(class_Animation_get_color_at,   /* name */
  be_nested_proto(
    7,                          /* nstack */
    3,                          /* argc */
    10,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    0,                          /* has sup protos */
    NULL,                       /* no sub protos */
    1,                          /* has constants */
    &be_ktab_class_Animation,     /* shared constants */
    be_str_weak(get_color_at),
    &be_const_str_solidified,
    ( &(const binstruction[ 5]) {  /* code */
      0x8C0C0100,  //  0000  GETMET	R3	R0	K0
      0x58140001,  //  0001  LDCONST	R5	K1
      0x5C180400,  //  0002  MOVE	R6	R2
      0x7C0C0600,  //  0003  CALL	R3	3
      0x80040600,  //  0004  RET	1	R3
    })
  )
);
/*******************************************************************/


/********************************************************************
** Solidified function: _apply_opacity
********************************************************************/
be_local_closure(class_Animation__apply_opacity,   /* name */
  be_nested_proto(
    11,                          /* nstack */
    5,                          /* argc */
    10,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    0,                          /* has sup protos */
    NULL,                       /* no sub protos */
    1,                          /* has constants */
    &be_ktab_class_Animation,     /* shared constants */
    be_str_weak(_apply_opacity),
    &be_const_str_solidified,
    ( &(const binstruction[43]) {  /* code */
      0x6014000F,  //  0000  GETGBL	R5	G15
      0x5C180400,  //  0001  MOVE	R6	R2
      0xB81E0400,  //  0002  GETNGBL	R7	K2
      0x881C0F02,  //  0003  GETMBR	R7	R7	K2
      0x7C140400,  //  0004  CALL	R5	2
      0x78160023,  //  0005  JMPF	R5	#002A
      0x5C140400,  //  0006  MOVE	R5	R2
      0x88180103,  //  0007  GETMBR	R6	R0	K3
      0x4C1C0000,  //  0008  LDNIL	R7
      0x1C180C07,  //  0009  EQ	R6	R6	R7
      0x741A0004,  //  000A  JMPT	R6	#0010
      0x88180103,  //  000B  GETMBR	R6	R0	K3
      0x88180D04,  //  000C  GETMBR	R6	R6	K4
      0x881C0304,  //  000D  GETMBR	R7	R1	K4
      0x20180C07,  //  000E  NE	R6	R6	R7
      0x781A0004,  //  000F  JMPF	R6	#0015
      0xB81A0400,  //  0010  GETNGBL	R6	K2
      0x8C180D05,  //  0011  GETMET	R6	R6	K5
      0x88200304,  //  0012  GETMBR	R8	R1	K4
      0x7C180400,  //  0013  CALL	R6	2
      0x90020606,  //  0014  SETMBR	R0	K3	R6
      0x88180103,  //  0015  GETMBR	R6	R0	K3
      0x8C180D06,  //  0016  GETMET	R6	R6	K6
      0x7C180200,  //  0017  CALL	R6	1
      0x88180B07,  //  0018  GETMBR	R6	R5	K7
      0x741A0002,  //  0019  JMPT	R6	#001D
      0x8C180B08,  //  001A  GETMET	R6	R5	K8
      0x88200109,  //  001B  GETMBR	R8	R0	K9
      0x7C180400,  //  001C  CALL	R6	2
      0x8C180B0A,  //  001D  GETMET	R6	R5	K10
      0x5C200600,  //  001E  MOVE	R8	R3
      0x7C180400,  //  001F  CALL	R6	2
      0x8C180B0B,  //  0020  GETMET	R6	R5	K11
      0x88200103,  //  0021  GETMBR	R8	R0	K3
      0x5C240600,  //  0022  MOVE	R9	R3
      0x5C280800,  //  0023  MOVE	R10	R4
      0x7C180800,  //  0024  CALL	R6	4
      0x8C18030C,  //  0025  GETMET	R6	R1	K12
      0x8820030D,  //  0026  GETMBR	R8	R1	K13
      0x88240103,  //  0027  GETMBR	R9	R0	K3
      0x8824130D,  //  0028  GETMBR	R9	R9	K13
      0x7C180600,  //  0029  CALL	R6	3
      0x80000000,  //  002A  RET	0
    })
  )
);
/*******************************************************************/


/********************************************************************
** Solidified function: update
********************************************************************/
be_local_closure(class_Animation_update,   /* name */
  be_nested_proto(
    8,                          /* nstack */
    2,                          /* argc */
    10,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    0,                          /* has sup protos */
    NULL,                       /* no sub protos */
    1,                          /* has constants */
    &be_ktab_class_Animation,     /* shared constants */
    be_str_weak(update),
    &be_const_str_solidified,
    ( &(const binstruction[18]) {  /* code */
      0x8808010E,  //  0000  GETMBR	R2	R0	K14
      0x240C050F,  //  0001  GT	R3	R2	K15
      0x780E000D,  //  0002  JMPF	R3	#0011
      0x880C0109,  //  0003  GETMBR	R3	R0	K9
      0x040C0203,  //  0004  SUB	R3	R1	R3
      0x28100602,  //  0005  GE	R4	R3	R2
      0x78120009,  //  0006  JMPF	R4	#0011
      0x88100110,  //  0007  GETMBR	R4	R0	K16
      0x78120005,  //  0008  JMPF	R4	#000F
      0x0C140602,  //  0009  DIV	R5	R3	R2
      0x88180109,  //  000A  GETMBR	R6	R0	K9
      0x081C0A02,  //  000B  MUL	R7	R5	R2
      0x00180C07,  //  000C  ADD	R6	R6	R7
      0x90021206,  //  000D  SETMBR	R0	K9	R6
      0x70020001,  //  000E  JMP		#0011
      0x50140000,  //  000F  LDBOOL	R5	0	0
      0x90020E05,  //  0010  SETMBR	R0	K7	R5
      0x80000000,  //  0011  RET	0
    })
  )
);
/*******************************************************************/


/********************************************************************
** Solidified function: init
********************************************************************/
be_local_closure(class_Animation_init,   /* name */
  be_nested_proto(
    5,                          /* nstack */
    2,                          /* argc */
    10,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    0,                          /* has sup protos */
    NULL,                       /* no sub protos */
    1,                          /* has constants */
    &be_ktab_class_Animation,     /* shared constants */
    be_str_weak(init),
    &be_const_str_solidified,
    ( &(const binstruction[ 7]) {  /* code */
      0x60080003,  //  0000  GETGBL	R2	G3
      0x5C0C0000,  //  0001  MOVE	R3	R0
      0x7C080200,  //  0002  CALL	R2	1
      0x8C080511,  //  0003  GETMET	R2	R2	K17
      0x5C100200,  //  0004  MOVE	R4	R1
      0x7C080400,  //  0005  CALL	R2	2
      0x80000000,  //  0006  RET	0
    })
  )
);
/*******************************************************************/


/********************************************************************
** Solidified function: get_color
********************************************************************/
be_local_closure(class_Animation_get_color,   /* name */
  be_nested_proto(
    6,                          /* nstack */
    2,                          /* argc */
    10,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    0,                          /* has sup protos */
    NULL,                       /* no sub protos */
    1,                          /* has constants */
    &be_ktab_class_Animation,     /* shared constants */
    be_str_weak(get_color),
    &be_const_str_solidified,
    ( &(const binstruction[ 5]) {  /* code */
      0x8C080112,  //  0000  GETMET	R2	R0	K18
      0x5810000F,  //  0001  LDCONST	R4	K15
      0x5C140200,  //  0002  MOVE	R5	R1
      0x7C080600,  //  0003  CALL	R2	3
      0x80040400,  //  0004  RET	1	R2
    })
  )
);
/*******************************************************************/


/********************************************************************
** Solidified function: render
********************************************************************/
be_local_closure(class_Animation_render,   /* name */
  be_nested_proto(
    9,                          /* nstack */
    4,                          /* argc */
    10,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    0,                          /* has sup protos */
    NULL,                       /* no sub protos */
    1,                          /* has constants */
    &be_ktab_class_Animation,     /* shared constants */
    be_str_weak(render),
    &be_const_str_solidified,
    ( &(const binstruction[11]) {  /* code */
      0x8C100113,  //  0000  GETMET	R4	R0	K19
      0x58180001,  //  0001  LDCONST	R6	K1
      0x7C100400,  //  0002  CALL	R4	2
      0x2014090F,  //  0003  NE	R5	R4	K15
      0x78160003,  //  0004  JMPF	R5	#0009
      0x8C140314,  //  0005  GETMET	R5	R1	K20
      0x881C030D,  //  0006  GETMBR	R7	R1	K13
      0x5C200800,  //  0007  MOVE	R8	R4
      0x7C140600,  //  0008  CALL	R5	3
      0x50140200,  //  0009  LDBOOL	R5	1	0
      0x80040A00,  //  000A  RET	1	R5
    })
  )
);
/*******************************************************************/


/********************************************************************
** Solidified function: post_render
********************************************************************/
be_local_closure(class_Animation_post_render,   /* name */
  be_nested_proto(
    11,                          /* nstack */
    4,                          /* argc */
    10,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    0,                          /* has sup protos */
    NULL,                       /* no sub protos */
    1,                          /* has constants */
    &be_ktab_class_Animation,     /* shared constants */
    be_str_weak(post_render),
    &be_const_str_solidified,
    ( &(const binstruction[23]) {  /* code */
      0x88100115,  //  0000  GETMBR	R4	R0	K21
      0x541600FE,  //  0001  LDINT	R5	255
      0x1C140805,  //  0002  EQ	R5	R4	R5
      0x78160001,  //  0003  JMPF	R5	#0006
      0x80000A00,  //  0004  RET	0
      0x7002000F,  //  0005  JMP		#0016
      0x60140004,  //  0006  GETGBL	R5	G4
      0x5C180800,  //  0007  MOVE	R6	R4
      0x7C140200,  //  0008  CALL	R5	1
      0x1C140B16,  //  0009  EQ	R5	R5	K22
      0x78160004,  //  000A  JMPF	R5	#0010
      0x8C14030C,  //  000B  GETMET	R5	R1	K12
      0x881C030D,  //  000C  GETMBR	R7	R1	K13
      0x5C200800,  //  000D  MOVE	R8	R4
      0x7C140600,  //  000E  CALL	R5	3
      0x70020005,  //  000F  JMP		#0016
      0x8C140117,  //  0010  GETMET	R5	R0	K23
      0x5C1C0200,  //  0011  MOVE	R7	R1
      0x5C200800,  //  0012  MOVE	R8	R4
      0x5C240400,  //  0013  MOVE	R9	R2
      0x5C280600,  //  0014  MOVE	R10	R3
      0x7C140A00,  //  0015  CALL	R5	5
      0x80000000,  //  0016  RET	0
    })
  )
);
/*******************************************************************/


/********************************************************************
** Solidified function: tostring
********************************************************************/
be_local_closure(class_Animation_tostring,   /* name */
  be_nested_proto(
    7,                          /* nstack */
    1,                          /* argc */
    10,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    0,                          /* has sup protos */
    NULL,                       /* no sub protos */
    1,                          /* has constants */
    &be_ktab_class_Animation,     /* shared constants */
    be_str_weak(tostring),
    &be_const_str_solidified,
    ( &(const binstruction[ 8]) {  /* code */
      0x60040018,  //  0000  GETGBL	R1	G24
      0x58080018,  //  0001  LDCONST	R2	K24
      0x880C0119,  //  0002  GETMBR	R3	R0	K25
      0x8810010E,  //  0003  GETMBR	R4	R0	K14
      0x88140110,  //  0004  GETMBR	R5	R0	K16
      0x88180107,  //  0005  GETMBR	R6	R0	K7
      0x7C040A00,  //  0006  CALL	R1	5
      0x80040200,  //  0007  RET	1	R1
    })
  )
);
/*******************************************************************/


/********************************************************************
** Solidified class: Animation
********************************************************************/
extern const bclass be_class_ParameterizedObject;
be_local_class(Animation,
    1,
    &be_class_ParameterizedObject,
    be_nested_map(10,
    ( (struct bmapnode*) &(const bmapnode[]) {
        { be_const_key_weak(opacity_frame, -1), be_const_var(0) },
        { be_const_key_weak(get_color_at, 9), be_const_closure(class_Animation_get_color_at_closure) },
        { be_const_key_weak(_apply_opacity, -1), be_const_closure(class_Animation__apply_opacity_closure) },
        { be_const_key_weak(PARAMS, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_map, {
        be_const_map( *     be_nested_map(6,
    ( (struct bmapnode*) &(const bmapnode[]) {
        { be_const_key_weak(id, -1), be_const_bytes_instance(0C030001) },
        { be_const_key_weak(priority, -1), be_const_bytes_instance(050000000A) },
        { be_const_key_weak(color, -1), be_const_bytes_instance(040000) },
        { be_const_key_weak(loop, 1), be_const_bytes_instance(0C050003) },
        { be_const_key_weak(opacity, 2), be_const_bytes_instance(0C01FF0004) },
        { be_const_key_weak(duration, -1), be_const_bytes_instance(0500000000) },
    }))    ) } )) },
        { be_const_key_weak(update, -1), be_const_closure(class_Animation_update_closure) },
        { be_const_key_weak(init, 6), be_const_closure(class_Animation_init_closure) },
        { be_const_key_weak(tostring, -1), be_const_closure(class_Animation_tostring_closure) },
        { be_const_key_weak(render, -1), be_const_closure(class_Animation_render_closure) },
        { be_const_key_weak(post_render, -1), be_const_closure(class_Animation_post_render_closure) },
        { be_const_key_weak(get_color, -1), be_const_closure(class_Animation_get_color_closure) },
    })),
    be_str_weak(Animation)
);

/********************************************************************
** Solidified function: is_user_function
********************************************************************/
be_local_closure(is_user_function,   /* name */
  be_nested_proto(
    4,                          /* nstack */
    1,                          /* argc */
    0,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    0,                          /* has sup protos */
    NULL,                       /* no sub protos */
    1,                          /* has constants */
    ( &(const bvalue[ 3]) {     /* constants */
    /* K0   */  be_nested_str_weak(animation),
    /* K1   */  be_nested_str_weak(_user_functions),
    /* K2   */  be_nested_str_weak(contains),
    }),
    be_str_weak(is_user_function),
    &be_const_str_solidified,
    ( &(const binstruction[ 6]) {  /* code */
      0xB8060000,  //  0000  GETNGBL	R1	K0
      0x88040301,  //  0001  GETMBR	R1	R1	K1
      0x8C040302,  //  0002  GETMET	R1	R1	K2
      0x5C0C0000,  //  0003  MOVE	R3	R0
      0x7C040400,  //  0004  CALL	R1	2
      0x80040200,  //  0005  RET	1	R1
    })
  )
);
/*******************************************************************/


/********************************************************************
** Solidified function: register_user_function
********************************************************************/
be_local_closure(register_user_function,   /* name */
  be_nested_proto(
    3,                          /* nstack */
    2,                          /* argc */
    0,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    0,                          /* has sup protos */
    NULL,                       /* no sub protos */
    1,                          /* has constants */
    ( &(const bvalue[ 2]) {     /* constants */
    /* K0   */  be_nested_str_weak(animation),
    /* K1   */  be_nested_str_weak(_user_functions),
    }),
    be_str_weak(register_user_function),
    &be_const_str_solidified,
    ( &(const binstruction[ 4]) {  /* code */
      0xB80A0000,  //  0000  GETNGBL	R2	K0
      0x88080501,  //  0001  GETMBR	R2	R2	K1
      0x98080001,  //  0002  SETIDX	R2	R0	R1
      0x80000000,  //  0003  RET	0
    })
  )
);
/*******************************************************************/

// compact class 'BeaconAnimation' ktab size: 15, total: 19 (saved 32 bytes)
static const bvalue be_ktab_class_BeaconAnimation[15] = {
  /* K0   */  be_nested_str_weak(back_color),
  /* K1   */  be_nested_str_weak(pos),
  /* K2   */  be_nested_str_weak(slew_size),
  /* K3   */  be_nested_str_weak(beacon_size),
  /* K4   */  be_nested_str_weak(color),
  /* K5   */  be_const_int(-16777216),
  /* K6   */  be_const_int(0),
  /* K7   */  be_nested_str_weak(fill_pixels),
  /* K8   */  be_nested_str_weak(pixels),
  /* K9   */  be_nested_str_weak(tasmota),
  /* K10  */  be_nested_str_weak(scale_int),
  /* K11  */  be_const_int(1),
  /* K12  */  be_nested_str_weak(blend_linear),
  /* K13  */  be_nested_str_weak(set_pixel_color),
  /* K14  */  be_nested_str_weak(BeaconAnimation_X28color_X3D0x_X2508x_X2C_X20pos_X3D_X25s_X2C_X20beacon_size_X3D_X25s_X2C_X20slew_size_X3D_X25s_X29),
};


extern const bclass be_class_BeaconAnimation;

/********************************************************************
** Solidified function: render
********************************************************************/
be_local_closure(class_BeaconAnimation_render,   /* name */
  be_nested_proto(
    23,                          /* nstack */
    4,                          /* argc */
    10,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    0,                          /* has sup protos */
    NULL,                       /* no sub protos */
    1,                          /* has constants */
    &be_ktab_class_BeaconAnimation,     /* shared constants */
    be_str_weak(render),
    &be_const_str_solidified,
    ( &(const binstruction[97]) {  /* code */
      0x88100100,  //  0000  GETMBR	R4	R0	K0
      0x88140101,  //  0001  GETMBR	R5	R0	K1
      0x88180102,  //  0002  GETMBR	R6	R0	K2
      0x881C0103,  //  0003  GETMBR	R7	R0	K3
      0x88200104,  //  0004  GETMBR	R8	R0	K4
      0x20240905,  //  0005  NE	R9	R4	K5
      0x78260006,  //  0006  JMPF	R9	#000E
      0x2C240905,  //  0007  AND	R9	R4	K5
      0x20241306,  //  0008  NE	R9	R9	K6
      0x78260003,  //  0009  JMPF	R9	#000E
      0x8C240307,  //  000A  GETMET	R9	R1	K7
      0x882C0308,  //  000B  GETMBR	R11	R1	K8
      0x5C300800,  //  000C  MOVE	R12	R4
      0x7C240600,  //  000D  CALL	R9	3
      0x5C240A00,  //  000E  MOVE	R9	R5
      0x00280A07,  //  000F  ADD	R10	R5	R7
      0x142C1306,  //  0010  LT	R11	R9	K6
      0x782E0000,  //  0011  JMPF	R11	#0013
      0x58240006,  //  0012  LDCONST	R9	K6
      0x282C1403,  //  0013  GE	R11	R10	R3
      0x782E0000,  //  0014  JMPF	R11	#0016
      0x5C280600,  //  0015  MOVE	R10	R3
      0x8C2C0307,  //  0016  GETMET	R11	R1	K7
      0x88340308,  //  0017  GETMBR	R13	R1	K8
      0x5C381000,  //  0018  MOVE	R14	R8
      0x5C3C1200,  //  0019  MOVE	R15	R9
      0x5C401400,  //  001A  MOVE	R16	R10
      0x7C2C0A00,  //  001B  CALL	R11	5
      0x4C2C0000,  //  001C  LDNIL	R11
      0x24300D06,  //  001D  GT	R12	R6	K6
      0x7832003F,  //  001E  JMPF	R12	#005F
      0x04300A06,  //  001F  SUB	R12	R5	R6
      0x5C340A00,  //  0020  MOVE	R13	R5
      0x14381906,  //  0021  LT	R14	R12	K6
      0x783A0000,  //  0022  JMPF	R14	#0024
      0x58300006,  //  0023  LDCONST	R12	K6
      0x28381A03,  //  0024  GE	R14	R13	R3
      0x783A0000,  //  0025  JMPF	R14	#0027
      0x5C340600,  //  0026  MOVE	R13	R3
      0x5C2C1800,  //  0027  MOVE	R11	R12
      0x1438160D,  //  0028  LT	R14	R11	R13
      0x783A0013,  //  0029  JMPF	R14	#003E
      0xB83A1200,  //  002A  GETNGBL	R14	K9
      0x8C381D0A,  //  002B  GETMET	R14	R14	K10
      0x5C401600,  //  002C  MOVE	R16	R11
      0x04440A06,  //  002D  SUB	R17	R5	R6
      0x0444230B,  //  002E  SUB	R17	R17	K11
      0x5C480A00,  //  002F  MOVE	R18	R5
      0x544E00FE,  //  0030  LDINT	R19	255
      0x58500006,  //  0031  LDCONST	R20	K6
      0x7C380C00,  //  0032  CALL	R14	6
      0x8C3C030C,  //  0033  GETMET	R15	R1	K12
      0x5C440800,  //  0034  MOVE	R17	R4
      0x5C481000,  //  0035  MOVE	R18	R8
      0x5C4C1C00,  //  0036  MOVE	R19	R14
      0x7C3C0800,  //  0037  CALL	R15	4
      0x8C40030D,  //  0038  GETMET	R16	R1	K13
      0x5C481600,  //  0039  MOVE	R18	R11
      0x5C4C1E00,  //  003A  MOVE	R19	R15
      0x7C400600,  //  003B  CALL	R16	3
      0x002C170B,  //  003C  ADD	R11	R11	K11
      0x7001FFE9,  //  003D  JMP		#0028
      0x00380A07,  //  003E  ADD	R14	R5	R7
      0x003C0A07,  //  003F  ADD	R15	R5	R7
      0x003C1E06,  //  0040  ADD	R15	R15	R6
      0x14401D06,  //  0041  LT	R16	R14	K6
      0x78420000,  //  0042  JMPF	R16	#0044
      0x58380006,  //  0043  LDCONST	R14	K6
      0x28401E03,  //  0044  GE	R16	R15	R3
      0x78420000,  //  0045  JMPF	R16	#0047
      0x5C3C0600,  //  0046  MOVE	R15	R3
      0x5C2C1C00,  //  0047  MOVE	R11	R14
      0x1440160F,  //  0048  LT	R16	R11	R15
      0x78420014,  //  0049  JMPF	R16	#005F
      0xB8421200,  //  004A  GETNGBL	R16	K9
      0x8C40210A,  //  004B  GETMET	R16	R16	K10
      0x5C481600,  //  004C  MOVE	R18	R11
      0x004C0A07,  //  004D  ADD	R19	R5	R7
      0x044C270B,  //  004E  SUB	R19	R19	K11
      0x00500A07,  //  004F  ADD	R20	R5	R7
      0x00502806,  //  0050  ADD	R20	R20	R6
      0x58540006,  //  0051  LDCONST	R21	K6
      0x545A00FE,  //  0052  LDINT	R22	255
      0x7C400C00,  //  0053  CALL	R16	6
      0x8C44030C,  //  0054  GETMET	R17	R1	K12
      0x5C4C0800,  //  0055  MOVE	R19	R4
      0x5C501000,  //  0056  MOVE	R20	R8
      0x5C542000,  //  0057  MOVE	R21	R16
      0x7C440800,  //  0058  CALL	R17	4
      0x8C48030D,  //  0059  GETMET	R18	R1	K13
      0x5C501600,  //  005A  MOVE	R20	R11
      0x5C542200,  //  005B  MOVE	R21	R17
      0x7C480600,  //  005C  CALL	R18	3
      0x002C170B,  //  005D  ADD	R11	R11	K11
      0x7001FFE8,  //  005E  JMP		#0048
      0x50300200,  //  005F  LDBOOL	R12	1	0
      0x80041800,  //  0060  RET	1	R12
    })
  )
);
/*******************************************************************/


/********************************************************************
** Solidified function: tostring
********************************************************************/
be_local_closure(class_BeaconAnimation_tostring,   /* name */
  be_nested_proto(
    7,                          /* nstack */
    1,                          /* argc */
    10,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    0,                          /* has sup protos */
    NULL,                       /* no sub protos */
    1,                          /* has constants */
    &be_ktab_class_BeaconAnimation,     /* shared constants */
    be_str_weak(tostring),
    &be_const_str_solidified,
    ( &(const binstruction[ 8]) {  /* code */
      0x60040018,  //  0000  GETGBL	R1	G24
      0x5808000E,  //  0001  LDCONST	R2	K14
      0x880C0104,  //  0002  GETMBR	R3	R0	K4
      0x88100101,  //  0003  GETMBR	R4	R0	K1
      0x88140103,  //  0004  GETMBR	R5	R0	K3
      0x88180102,  //  0005  GETMBR	R6	R0	K2
      0x7C040A00,  //  0006  CALL	R1	5
      0x80040200,  //  0007  RET	1	R1
    })
  )
);
/*******************************************************************/


/********************************************************************
** Solidified class: BeaconAnimation
********************************************************************/
extern const bclass be_class_Animation;
be_local_class(BeaconAnimation,
    0,
    &be_class_Animation,
    be_nested_map(3,
    ( (struct bmapnode*) &(const bmapnode[]) {
        { be_const_key_weak(PARAMS, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_map, {
        be_const_map( *     be_nested_map(4,
    ( (struct bmapnode*) &(const bmapnode[]) {
        { be_const_key_weak(slew_size, -1), be_const_bytes_instance(0500000000) },
        { be_const_key_weak(pos, -1), be_const_bytes_instance(040000) },
        { be_const_key_weak(back_color, 0), be_const_bytes_instance(0402000000FF) },
        { be_const_key_weak(beacon_size, -1), be_const_bytes_instance(0500000001) },
    }))    ) } )) },
        { be_const_key_weak(render, 2), be_const_closure(class_BeaconAnimation_render_closure) },
        { be_const_key_weak(tostring, -1), be_const_closure(class_BeaconAnimation_tostring_closure) },
    })),
    be_str_weak(BeaconAnimation)
);

/********************************************************************
** Solidified function: animation_version_string
********************************************************************/
be_local_closure(animation_version_string,   /* name */
  be_nested_proto(
    9,                          /* nstack */
    1,                          /* argc */
    0,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    0,                          /* has sup protos */
    NULL,                       /* no sub protos */
    1,                          /* has constants */
    ( &(const bvalue[ 3]) {     /* constants */
    /* K0   */  be_nested_str_weak(animation),
    /* K1   */  be_nested_str_weak(VERSION),
    /* K2   */  be_nested_str_weak(_X25s_X2E_X25s_X2E_X25s),
    }),
    be_str_weak(animation_version_string),
    &be_const_str_solidified,
    ( &(const binstruction[24]) {  /* code */
      0x4C040000,  //  0000  LDNIL	R1
      0x1C040001,  //  0001  EQ	R1	R0	R1
      0x78060001,  //  0002  JMPF	R1	#0005
      0xB8060000,  //  0003  GETNGBL	R1	K0
      0x88000301,  //  0004  GETMBR	R0	R1	K1
      0x54060017,  //  0005  LDINT	R1	24
      0x3C040001,  //  0006  SHR	R1	R0	R1
      0x540A00FE,  //  0007  LDINT	R2	255
      0x2C040202,  //  0008  AND	R1	R1	R2
      0x540A000F,  //  0009  LDINT	R2	16
      0x3C080002,  //  000A  SHR	R2	R0	R2
      0x540E00FE,  //  000B  LDINT	R3	255
      0x2C080403,  //  000C  AND	R2	R2	R3
      0x540E0007,  //  000D  LDINT	R3	8
      0x3C0C0003,  //  000E  SHR	R3	R0	R3
      0x541200FE,  //  000F  LDINT	R4	255
      0x2C0C0604,  //  0010  AND	R3	R3	R4
      0x60100018,  //  0011  GETGBL	R4	G24
      0x58140002,  //  0012  LDCONST	R5	K2
      0x5C180200,  //  0013  MOVE	R6	R1
      0x5C1C0400,  //  0014  MOVE	R7	R2
      0x5C200600,  //  0015  MOVE	R8	R3
      0x7C100800,  //  0016  CALL	R4	4
      0x80040800,  //  0017  RET	1	R4
    })
  )
);
/*******************************************************************/


/********************************************************************
** Solidified function: animation_resolve
********************************************************************/
be_local_closure(animation_resolve,   /* name */
  be_nested_proto(
    7,                          /* nstack */
    3,                          /* argc */
    0,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    0,                          /* has sup protos */
    NULL,                       /* no sub protos */
    1,                          /* has constants */
    ( &(const bvalue[ 7]) {     /* constants */
    /* K0   */  be_nested_str_weak(animation),
    /* K1   */  be_nested_str_weak(is_value_provider),
    /* K2   */  be_nested_str_weak(produce_value),
    /* K3   */  be_nested_str_weak(parameterized_object),
    /* K4   */  be_nested_str_weak(value_error),
    /* K5   */  be_nested_str_weak(Parameter_X20name_X20cannot_X20be_X20nil_X20when_X20resolving_X20object_X20parameter),
    /* K6   */  be_nested_str_weak(get_param_value),
    }),
    be_str_weak(animation_resolve),
    &be_const_str_solidified,
    ( &(const binstruction[31]) {  /* code */
      0xB80E0000,  //  0000  GETNGBL	R3	K0
      0x8C0C0701,  //  0001  GETMET	R3	R3	K1
      0x5C140000,  //  0002  MOVE	R5	R0
      0x7C0C0400,  //  0003  CALL	R3	2
      0x780E0005,  //  0004  JMPF	R3	#000B
      0x8C0C0102,  //  0005  GETMET	R3	R0	K2
      0x5C140200,  //  0006  MOVE	R5	R1
      0x5C180400,  //  0007  MOVE	R6	R2
      0x7C0C0600,  //  0008  CALL	R3	3
      0x80040600,  //  0009  RET	1	R3
      0x70020012,  //  000A  JMP		#001E
      0x4C0C0000,  //  000B  LDNIL	R3
      0x200C0003,  //  000C  NE	R3	R0	R3
      0x780E000E,  //  000D  JMPF	R3	#001D
      0x600C000F,  //  000E  GETGBL	R3	G15
      0x5C100000,  //  000F  MOVE	R4	R0
      0xB8160000,  //  0010  GETNGBL	R5	K0
      0x88140B03,  //  0011  GETMBR	R5	R5	K3
      0x7C0C0400,  //  0012  CALL	R3	2
      0x780E0008,  //  0013  JMPF	R3	#001D
      0x4C0C0000,  //  0014  LDNIL	R3
      0x1C0C0203,  //  0015  EQ	R3	R1	R3
      0x780E0000,  //  0016  JMPF	R3	#0018
      0xB0060905,  //  0017  RAISE	1	K4	K5
      0x8C0C0106,  //  0018  GETMET	R3	R0	K6
      0x5C140200,  //  0019  MOVE	R5	R1
      0x7C0C0400,  //  001A  CALL	R3	2
      0x80040600,  //  001B  RET	1	R3
      0x70020000,  //  001C  JMP		#001E
      0x80040000,  //  001D  RET	1	R0
      0x80000000,  //  001E  RET	0
    })
  )
);
/*******************************************************************/


/********************************************************************
** Solidified function: sawtooth
********************************************************************/
be_local_closure(sawtooth,   /* name */
  be_nested_proto(
    4,                          /* nstack */
    1,                          /* argc */
    0,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    0,                          /* has sup protos */
    NULL,                       /* no sub protos */
    1,                          /* has constants */
    ( &(const bvalue[ 4]) {     /* constants */
    /* K0   */  be_nested_str_weak(animation),
    /* K1   */  be_nested_str_weak(oscillator_value),
    /* K2   */  be_nested_str_weak(form),
    /* K3   */  be_nested_str_weak(SAWTOOTH),
    }),
    be_str_weak(sawtooth),
    &be_const_str_solidified,
    ( &(const binstruction[ 8]) {  /* code */
      0xB8060000,  //  0000  GETNGBL	R1	K0
      0x8C040301,  //  0001  GETMET	R1	R1	K1
      0x5C0C0000,  //  0002  MOVE	R3	R0
      0x7C040400,  //  0003  CALL	R1	2
      0xB80A0000,  //  0004  GETNGBL	R2	K0
      0x88080503,  //  0005  GETMBR	R2	R2	K3
      0x90060402,  //  0006  SETMBR	R1	K2	R2
      0x80040200,  //  0007  RET	1	R1
    })
  )
);
/*******************************************************************/


/********************************************************************
** Solidified function: noise_single_color
********************************************************************/
be_local_closure(noise_single_color,   /* name */
  be_nested_proto(
    4,                          /* nstack */
    1,                          /* argc */
    0,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    0,                          /* has sup protos */
    NULL,                       /* no sub protos */
    1,                          /* has constants */
    ( &(const bvalue[ 7]) {     /* constants */
    /* K0   */  be_nested_str_weak(animation),
    /* K1   */  be_nested_str_weak(noise_animation),
    /* K2   */  be_nested_str_weak(color),
    /* K3   */  be_nested_str_weak(scale),
    /* K4   */  be_nested_str_weak(speed),
    /* K5   */  be_nested_str_weak(octaves),
    /* K6   */  be_const_int(1),
    }),
    be_str_weak(noise_single_color),
    &be_const_str_solidified,
    ( &(const binstruction[12]) {  /* code */
      0xB8060000,  //  0000  GETNGBL	R1	K0
      0x8C040301,  //  0001  GETMET	R1	R1	K1
      0x5C0C0000,  //  0002  MOVE	R3	R0
      0x7C040400,  //  0003  CALL	R1	2
      0x5409FFFE,  //  0004  LDINT	R2	-1
      0x90060402,  //  0005  SETMBR	R1	K2	R2
      0x540A0031,  //  0006  LDINT	R2	50
      0x90060602,  //  0007  SETMBR	R1	K3	R2
      0x540A001D,  //  0008  LDINT	R2	30
      0x90060802,  //  0009  SETMBR	R1	K4	R2
      0x90060B06,  //  000A  SETMBR	R1	K5	K6
      0x80040200,  //  000B  RET	1	R1
    })
  )
);
/*******************************************************************/

// compact class 'GradientMeterAnimation' ktab size: 27, total: 38 (saved 88 bytes)
static const bvalue be_ktab_class_GradientMeterAnimation[27] = {
  /* K0   */  be_nested_str_weak(init),
  /* K1   */  be_nested_str_weak(peak_level),
  /* K2   */  be_const_int(0),
  /* K3   */  be_nested_str_weak(peak_time),
  /* K4   */  be_nested_str_weak(_level),
  /* K5   */  be_nested_str_weak(shift_period),
  /* K6   */  be_nested_str_weak(peak_hold),
  /* K7   */  be_nested_str_weak(level),
  /* K8   */  be_nested_str_weak(update),
  /* K9   */  be_nested_str_weak(get_param),
  /* K10  */  be_nested_str_weak(color_source),
  /* K11  */  be_nested_str_weak(start_time),
  /* K12  */  be_nested_str_weak(tasmota),
  /* K13  */  be_nested_str_weak(scale_uint),
  /* K14  */  be_const_int(1),
  /* K15  */  be_nested_str_weak(animation),
  /* K16  */  be_nested_str_weak(color_provider),
  /* K17  */  be_nested_str_weak(get_lut),
  /* K18  */  be_nested_str_weak(LUT_FACTOR),
  /* K19  */  be_nested_str_weak(pixels),
  /* K20  */  be_nested_str_weak(_buffer),
  /* K21  */  be_nested_str_weak(value_buffer),
  /* K22  */  be_const_int(2),
  /* K23  */  be_const_int(3),
  /* K24  */  be_nested_str_weak(get_color_for_value),
  /* K25  */  be_nested_str_weak(set_pixel_color),
  /* K26  */  be_nested_str_weak(GradientMeterAnimation_X28level_X3D_X25s_X2C_X20peak_hold_X3D_X25sms_X2C_X20peak_X3D_X25s_X29),
};


extern const bclass be_class_GradientMeterAnimation;

/********************************************************************
** Solidified function: init
********************************************************************/
be_local_closure(class_GradientMeterAnimation_init,   /* name */
  be_nested_proto(
    5,                          /* nstack */
    2,                          /* argc */
    10,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    0,                          /* has sup protos */
    NULL,                       /* no sub protos */
    1,                          /* has constants */
    &be_ktab_class_GradientMeterAnimation,     /* shared constants */
    be_str_weak(init),
    &be_const_str_solidified,
    ( &(const binstruction[11]) {  /* code */
      0x60080003,  //  0000  GETGBL	R2	G3
      0x5C0C0000,  //  0001  MOVE	R3	R0
      0x7C080200,  //  0002  CALL	R2	1
      0x8C080500,  //  0003  GETMET	R2	R2	K0
      0x5C100200,  //  0004  MOVE	R4	R1
      0x7C080400,  //  0005  CALL	R2	2
      0x90020302,  //  0006  SETMBR	R0	K1	K2
      0x90020702,  //  0007  SETMBR	R0	K3	K2
      0x90020902,  //  0008  SETMBR	R0	K4	K2
      0x90020B02,  //  0009  SETMBR	R0	K5	K2
      0x80000000,  //  000A  RET	0
    })
  )
);
/*******************************************************************/


/********************************************************************
** Solidified function: update
********************************************************************/
be_local_closure(class_GradientMeterAnimation_update,   /* name */
  be_nested_proto(
    7,                          /* nstack */
    2,                          /* argc */
    10,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    0,                          /* has sup protos */
    NULL,                       /* no sub protos */
    1,                          /* has constants */
    &be_ktab_class_GradientMeterAnimation,     /* shared constants */
    be_str_weak(update),
    &be_const_str_solidified,
    ( &(const binstruction[26]) {  /* code */
      0x88080106,  //  0000  GETMBR	R2	R0	K6
      0x240C0502,  //  0001  GT	R3	R2	K2
      0x780E000F,  //  0002  JMPF	R3	#0013
      0x880C0107,  //  0003  GETMBR	R3	R0	K7
      0x90020803,  //  0004  SETMBR	R0	K4	R3
      0x88100101,  //  0005  GETMBR	R4	R0	K1
      0x28140604,  //  0006  GE	R5	R3	R4
      0x78160002,  //  0007  JMPF	R5	#000B
      0x90020203,  //  0008  SETMBR	R0	K1	R3
      0x90020601,  //  0009  SETMBR	R0	K3	R1
      0x70020007,  //  000A  JMP		#0013
      0x24140902,  //  000B  GT	R5	R4	K2
      0x78160005,  //  000C  JMPF	R5	#0013
      0x88140103,  //  000D  GETMBR	R5	R0	K3
      0x04140205,  //  000E  SUB	R5	R1	R5
      0x24180A02,  //  000F  GT	R6	R5	R2
      0x781A0001,  //  0010  JMPF	R6	#0013
      0x90020203,  //  0011  SETMBR	R0	K1	R3
      0x90020601,  //  0012  SETMBR	R0	K3	R1
      0x600C0003,  //  0013  GETGBL	R3	G3
      0x5C100000,  //  0014  MOVE	R4	R0
      0x7C0C0200,  //  0015  CALL	R3	1
      0x8C0C0708,  //  0016  GETMET	R3	R3	K8
      0x5C140200,  //  0017  MOVE	R5	R1
      0x7C0C0400,  //  0018  CALL	R3	2
      0x80000000,  //  0019  RET	0
    })
  )
);
/*******************************************************************/


/********************************************************************
** Solidified function: render
********************************************************************/
be_local_closure(class_GradientMeterAnimation_render,   /* name */
  be_nested_proto(
    21,                          /* nstack */
    4,                          /* argc */
    10,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    0,                          /* has sup protos */
    NULL,                       /* no sub protos */
    1,                          /* has constants */
    &be_ktab_class_GradientMeterAnimation,     /* shared constants */
    be_str_weak(render),
    &be_const_str_solidified,
    ( &(const binstruction[113]) {  /* code */
      0x8C100109,  //  0000  GETMET	R4	R0	K9
      0x5818000A,  //  0001  LDCONST	R6	K10
      0x7C100400,  //  0002  CALL	R4	2
      0x4C140000,  //  0003  LDNIL	R5
      0x1C140805,  //  0004  EQ	R5	R4	R5
      0x78160001,  //  0005  JMPF	R5	#0008
      0x50140000,  //  0006  LDBOOL	R5	0	0
      0x80040A00,  //  0007  RET	1	R5
      0x8814010B,  //  0008  GETMBR	R5	R0	K11
      0x04140405,  //  0009  SUB	R5	R2	R5
      0x88180104,  //  000A  GETMBR	R6	R0	K4
      0x881C0106,  //  000B  GETMBR	R7	R0	K6
      0xB8221800,  //  000C  GETNGBL	R8	K12
      0x8C20110D,  //  000D  GETMET	R8	R8	K13
      0x5C280C00,  //  000E  MOVE	R10	R6
      0x582C0002,  //  000F  LDCONST	R11	K2
      0x543200FE,  //  0010  LDINT	R12	255
      0x58340002,  //  0011  LDCONST	R13	K2
      0x5C380600,  //  0012  MOVE	R14	R3
      0x7C200C00,  //  0013  CALL	R8	6
      0x5425FFFE,  //  0014  LDINT	R9	-1
      0x24280F02,  //  0015  GT	R10	R7	K2
      0x782A000C,  //  0016  JMPF	R10	#0024
      0x88280101,  //  0017  GETMBR	R10	R0	K1
      0x24281406,  //  0018  GT	R10	R10	R6
      0x782A0009,  //  0019  JMPF	R10	#0024
      0xB82A1800,  //  001A  GETNGBL	R10	K12
      0x8C28150D,  //  001B  GETMET	R10	R10	K13
      0x88300101,  //  001C  GETMBR	R12	R0	K1
      0x58340002,  //  001D  LDCONST	R13	K2
      0x543A00FE,  //  001E  LDINT	R14	255
      0x583C0002,  //  001F  LDCONST	R15	K2
      0x5C400600,  //  0020  MOVE	R16	R3
      0x7C280C00,  //  0021  CALL	R10	6
      0x0428150E,  //  0022  SUB	R10	R10	K14
      0x5C241400,  //  0023  MOVE	R9	R10
      0x4C280000,  //  0024  LDNIL	R10
      0x602C000F,  //  0025  GETGBL	R11	G15
      0x5C300800,  //  0026  MOVE	R12	R4
      0xB8361E00,  //  0027  GETNGBL	R13	K15
      0x88341B10,  //  0028  GETMBR	R13	R13	K16
      0x7C2C0400,  //  0029  CALL	R11	2
      0x782E0028,  //  002A  JMPF	R11	#0054
      0x8C2C0911,  //  002B  GETMET	R11	R4	K17
      0x7C2C0200,  //  002C  CALL	R11	1
      0x5C281600,  //  002D  MOVE	R10	R11
      0x4C300000,  //  002E  LDNIL	R12
      0x202C160C,  //  002F  NE	R11	R11	R12
      0x782E0022,  //  0030  JMPF	R11	#0054
      0x882C0912,  //  0031  GETMBR	R11	R4	K18
      0x543200FF,  //  0032  LDINT	R12	256
      0x3C30180B,  //  0033  SHR	R12	R12	R11
      0x58340002,  //  0034  LDCONST	R13	K2
      0x88380313,  //  0035  GETMBR	R14	R1	K19
      0x8C381D14,  //  0036  GETMET	R14	R14	K20
      0x7C380200,  //  0037  CALL	R14	1
      0x8C3C1514,  //  0038  GETMET	R15	R10	K20
      0x7C3C0200,  //  0039  CALL	R15	1
      0x88400115,  //  003A  GETMBR	R16	R0	K21
      0x8C402114,  //  003B  GETMET	R16	R16	K20
      0x7C400200,  //  003C  CALL	R16	1
      0x14441A08,  //  003D  LT	R17	R13	R8
      0x78460013,  //  003E  JMPF	R17	#0053
      0x9444200D,  //  003F  GETIDX	R17	R16	R13
      0x3C48220B,  //  0040  SHR	R18	R17	R11
      0x544E00FE,  //  0041  LDINT	R19	255
      0x1C4C2213,  //  0042  EQ	R19	R17	R19
      0x784E0000,  //  0043  JMPF	R19	#0045
      0x5C481800,  //  0044  MOVE	R18	R12
      0x384C2516,  //  0045  SHL	R19	R18	K22
      0x004C1E13,  //  0046  ADD	R19	R15	R19
      0x94502702,  //  0047  GETIDX	R20	R19	K2
      0x983A0414,  //  0048  SETIDX	R14	K2	R20
      0x9450270E,  //  0049  GETIDX	R20	R19	K14
      0x983A1C14,  //  004A  SETIDX	R14	K14	R20
      0x94502716,  //  004B  GETIDX	R20	R19	K22
      0x983A2C14,  //  004C  SETIDX	R14	K22	R20
      0x94502717,  //  004D  GETIDX	R20	R19	K23
      0x983A2E14,  //  004E  SETIDX	R14	K23	R20
      0x00341B0E,  //  004F  ADD	R13	R13	K14
      0x54520003,  //  0050  LDINT	R20	4
      0x00381C14,  //  0051  ADD	R14	R14	R20
      0x7001FFE9,  //  0052  JMP		#003D
      0x7002000E,  //  0053  JMP		#0063
      0x582C0002,  //  0054  LDCONST	R11	K2
      0x14301608,  //  0055  LT	R12	R11	R8
      0x7832000B,  //  0056  JMPF	R12	#0063
      0x88300115,  //  0057  GETMBR	R12	R0	K21
      0x9430180B,  //  0058  GETIDX	R12	R12	R11
      0x8C340918,  //  0059  GETMET	R13	R4	K24
      0x5C3C1800,  //  005A  MOVE	R15	R12
      0x5C400A00,  //  005B  MOVE	R16	R5
      0x7C340600,  //  005C  CALL	R13	3
      0x8C380319,  //  005D  GETMET	R14	R1	K25
      0x5C401600,  //  005E  MOVE	R16	R11
      0x5C441A00,  //  005F  MOVE	R17	R13
      0x7C380600,  //  0060  CALL	R14	3
      0x002C170E,  //  0061  ADD	R11	R11	K14
      0x7001FFF1,  //  0062  JMP		#0055
      0x282C1208,  //  0063  GE	R11	R9	R8
      0x782E0009,  //  0064  JMPF	R11	#006F
      0x882C0115,  //  0065  GETMBR	R11	R0	K21
      0x942C1609,  //  0066  GETIDX	R11	R11	R9
      0x8C300918,  //  0067  GETMET	R12	R4	K24
      0x5C381600,  //  0068  MOVE	R14	R11
      0x5C3C0A00,  //  0069  MOVE	R15	R5
      0x7C300600,  //  006A  CALL	R12	3
      0x8C340319,  //  006B  GETMET	R13	R1	K25
      0x5C3C1200,  //  006C  MOVE	R15	R9
      0x5C401800,  //  006D  MOVE	R16	R12
      0x7C340600,  //  006E  CALL	R13	3
      0x502C0200,  //  006F  LDBOOL	R11	1	0
      0x80041600,  //  0070  RET	1	R11
    })
  )
);
/*******************************************************************/


/********************************************************************
** Solidified function: tostring
********************************************************************/
be_local_closure(class_GradientMeterAnimation_tostring,   /* name */
  be_nested_proto(
    8,                          /* nstack */
    1,                          /* argc */
    10,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    0,                          /* has sup protos */
    NULL,                       /* no sub protos */
    1,                          /* has constants */
    &be_ktab_class_GradientMeterAnimation,     /* shared constants */
    be_str_weak(tostring),
    &be_const_str_solidified,
    ( &(const binstruction[ 9]) {  /* code */
      0x88040107,  //  0000  GETMBR	R1	R0	K7
      0x88080106,  //  0001  GETMBR	R2	R0	K6
      0x600C0018,  //  0002  GETGBL	R3	G24
      0x5810001A,  //  0003  LDCONST	R4	K26
      0x5C140200,  //  0004  MOVE	R5	R1
      0x5C180400,  //  0005  MOVE	R6	R2
      0x881C0101,  //  0006  GETMBR	R7	R0	K1
      0x7C0C0800,  //  0007  CALL	R3	4
      0x80040600,  //  0008  RET	1	R3
    })
  )
);
/*******************************************************************/


/********************************************************************
** Solidified class: GradientMeterAnimation
********************************************************************/
extern const bclass be_class_PaletteGradientAnimation;
be_local_class(GradientMeterAnimation,
    3,
    &be_class_PaletteGradientAnimation,
    be_nested_map(8,
    ( (struct bmapnode*) &(const bmapnode[]) {
        { be_const_key_weak(PARAMS, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_map, {
        be_const_map( *     be_nested_map(2,
    ( (struct bmapnode*) &(const bmapnode[]) {
        { be_const_key_weak(peak_hold, -1), be_const_bytes_instance(05000001E803) },
        { be_const_key_weak(level, -1), be_const_bytes_instance(07000001FF0001FF00) },
    }))    ) } )) },
        { be_const_key_weak(_level, -1), be_const_var(2) },
        { be_const_key_weak(tostring, -1), be_const_closure(class_GradientMeterAnimation_tostring_closure) },
        { be_const_key_weak(init, 0), be_const_closure(class_GradientMeterAnimation_init_closure) },
        { be_const_key_weak(update, 1), be_const_closure(class_GradientMeterAnimation_update_closure) },
        { be_const_key_weak(render, 2), be_const_closure(class_GradientMeterAnimation_render_closure) },
        { be_const_key_weak(peak_time, -1), be_const_var(1) },
        { be_const_key_weak(peak_level, -1), be_const_var(0) },
    })),
    be_str_weak(GradientMeterAnimation)
);

/********************************************************************
** Solidified function: ease_in
********************************************************************/
be_local_closure(ease_in,   /* name */
  be_nested_proto(
    4,                          /* nstack */
    1,                          /* argc */
    0,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    0,                          /* has sup protos */
    NULL,                       /* no sub protos */
    1,                          /* has constants */
    ( &(const bvalue[ 4]) {     /* constants */
    /* K0   */  be_nested_str_weak(animation),
    /* K1   */  be_nested_str_weak(oscillator_value),
    /* K2   */  be_nested_str_weak(form),
    /* K3   */  be_nested_str_weak(EASE_IN),
    }),
    be_str_weak(ease_in),
    &be_const_str_solidified,
    ( &(const binstruction[ 8]) {  /* code */
      0xB8060000,  //  0000  GETNGBL	R1	K0
      0x8C040301,  //  0001  GETMET	R1	R1	K1
      0x5C0C0000,  //  0002  MOVE	R3	R0
      0x7C040400,  //  0003  CALL	R1	2
      0xB80A0000,  //  0004  GETNGBL	R2	K0
      0x88080503,  //  0005  GETMBR	R2	R2	K3
      0x90060402,  //  0006  SETMBR	R1	K2	R2
      0x80040200,  //  0007  RET	1	R1
    })
  )
);
/*******************************************************************/


/********************************************************************
** Solidified function: ramp
********************************************************************/
be_local_closure(ramp,   /* name */
  be_nested_proto(
    4,                          /* nstack */
    1,                          /* argc */
    0,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    0,                          /* has sup protos */
    NULL,                       /* no sub protos */
    1,                          /* has constants */
    ( &(const bvalue[ 4]) {     /* constants */
    /* K0   */  be_nested_str_weak(animation),
    /* K1   */  be_nested_str_weak(oscillator_value),
    /* K2   */  be_nested_str_weak(form),
    /* K3   */  be_nested_str_weak(SAWTOOTH),
    }),
    be_str_weak(ramp),
    &be_const_str_solidified,
    ( &(const binstruction[ 8]) {  /* code */
      0xB8060000,  //  0000  GETNGBL	R1	K0
      0x8C040301,  //  0001  GETMET	R1	R1	K1
      0x5C0C0000,  //  0002  MOVE	R3	R0
      0x7C040400,  //  0003  CALL	R1	2
      0xB80A0000,  //  0004  GETNGBL	R2	K0
      0x88080503,  //  0005  GETMBR	R2	R2	K3
      0x90060402,  //  0006  SETMBR	R1	K2	R2
      0x80040200,  //  0007  RET	1	R1
    })
  )
);
/*******************************************************************/


/********************************************************************
** Solidified function: wave_custom
********************************************************************/
be_local_closure(wave_custom,   /* name */
  be_nested_proto(
    4,                          /* nstack */
    1,                          /* argc */
    0,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    0,                          /* has sup protos */
    NULL,                       /* no sub protos */
    1,                          /* has constants */
    ( &(const bvalue[ 7]) {     /* constants */
    /* K0   */  be_nested_str_weak(animation),
    /* K1   */  be_nested_str_weak(wave_animation),
    /* K2   */  be_nested_str_weak(color),
    /* K3   */  be_nested_str_weak(wave_type),
    /* K4   */  be_const_int(2),
    /* K5   */  be_nested_str_weak(frequency),
    /* K6   */  be_nested_str_weak(wave_speed),
    }),
    be_str_weak(wave_custom),
    &be_const_str_solidified,
    ( &(const binstruction[12]) {  /* code */
      0xB8060000,  //  0000  GETNGBL	R1	K0
      0x8C040301,  //  0001  GETMET	R1	R1	K1
      0x5C0C0000,  //  0002  MOVE	R3	R0
      0x7C040400,  //  0003  CALL	R1	2
      0x5409FEFF,  //  0004  LDINT	R2	-256
      0x90060402,  //  0005  SETMBR	R1	K2	R2
      0x90060704,  //  0006  SETMBR	R1	K3	K4
      0x540A0027,  //  0007  LDINT	R2	40
      0x90060A02,  //  0008  SETMBR	R1	K5	R2
      0x540A001D,  //  0009  LDINT	R2	30
      0x90060C02,  //  000A  SETMBR	R1	K6	R2
      0x80040200,  //  000B  RET	1	R1
    })
  )
);
/*******************************************************************/

// compact class 'ClosureValueProvider' ktab size: 7, total: 9 (saved 16 bytes)
static const bvalue be_ktab_class_ClosureValueProvider[7] = {
  /* K0   */  be_nested_str_weak(ClosureValueProvider_X28_X25s_X29),
  /* K1   */  be_nested_str_weak(_closure),
  /* K2   */  be_nested_str_weak(closure_X20set),
  /* K3   */  be_nested_str_weak(no_X20closure),
  /* K4   */  be_nested_str_weak(on_param_changed),
  /* K5   */  be_nested_str_weak(closure),
  /* K6   */  be_nested_str_weak(engine),
};


extern const bclass be_class_ClosureValueProvider;

/********************************************************************
** Solidified function: tostring
********************************************************************/
be_local_closure(class_ClosureValueProvider_tostring,   /* name */
  be_nested_proto(
    4,                          /* nstack */
    1,                          /* argc */
    10,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    0,                          /* has sup protos */
    NULL,                       /* no sub protos */
    1,                          /* has constants */
    &be_ktab_class_ClosureValueProvider,     /* shared constants */
    be_str_weak(tostring),
    &be_const_str_solidified,
    ( &(const binstruction[ 9]) {  /* code */
      0x60040018,  //  0000  GETGBL	R1	G24
      0x58080000,  //  0001  LDCONST	R2	K0
      0x880C0101,  //  0002  GETMBR	R3	R0	K1
      0x780E0001,  //  0003  JMPF	R3	#0006
      0x580C0002,  //  0004  LDCONST	R3	K2
      0x70020000,  //  0005  JMP		#0007
      0x580C0003,  //  0006  LDCONST	R3	K3
      0x7C040400,  //  0007  CALL	R1	2
      0x80040200,  //  0008  RET	1	R1
    })
  )
);
/*******************************************************************/


/********************************************************************
** Solidified function: on_param_changed
********************************************************************/
be_local_closure(class_ClosureValueProvider_on_param_changed,   /* name */
  be_nested_proto(
    7,                          /* nstack */
    3,                          /* argc */
    10,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    0,                          /* has sup protos */
    NULL,                       /* no sub protos */
    1,                          /* has constants */
    &be_ktab_class_ClosureValueProvider,     /* shared constants */
    be_str_weak(on_param_changed),
    &be_const_str_solidified,
    ( &(const binstruction[11]) {  /* code */
      0x600C0003,  //  0000  GETGBL	R3	G3
      0x5C100000,  //  0001  MOVE	R4	R0
      0x7C0C0200,  //  0002  CALL	R3	1
      0x8C0C0704,  //  0003  GETMET	R3	R3	K4
      0x5C140200,  //  0004  MOVE	R5	R1
      0x5C180400,  //  0005  MOVE	R6	R2
      0x7C0C0600,  //  0006  CALL	R3	3
      0x1C0C0305,  //  0007  EQ	R3	R1	K5
      0x780E0000,  //  0008  JMPF	R3	#000A
      0x90020202,  //  0009  SETMBR	R0	K1	R2
      0x80000000,  //  000A  RET	0
    })
  )
);
/*******************************************************************/


/********************************************************************
** Solidified function: produce_value
********************************************************************/
be_local_closure(class_ClosureValueProvider_produce_value,   /* name */
  be_nested_proto(
    8,                          /* nstack */
    3,                          /* argc */
    10,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    0,                          /* has sup protos */
    NULL,                       /* no sub protos */
    1,                          /* has constants */
    &be_ktab_class_ClosureValueProvider,     /* shared constants */
    be_str_weak(produce_value),
    &be_const_str_solidified,
    ( &(const binstruction[12]) {  /* code */
      0x880C0101,  //  0000  GETMBR	R3	R0	K1
      0x4C100000,  //  0001  LDNIL	R4
      0x1C100604,  //  0002  EQ	R4	R3	R4
      0x78120001,  //  0003  JMPF	R4	#0006
      0x4C100000,  //  0004  LDNIL	R4
      0x80040800,  //  0005  RET	1	R4
      0x5C100600,  //  0006  MOVE	R4	R3
      0x88140106,  //  0007  GETMBR	R5	R0	K6
      0x5C180200,  //  0008  MOVE	R6	R1
      0x5C1C0400,  //  0009  MOVE	R7	R2
      0x7C100600,  //  000A  CALL	R4	3
      0x80040800,  //  000B  RET	1	R4
    })
  )
);
/*******************************************************************/


/********************************************************************
** Solidified class: ClosureValueProvider
********************************************************************/
extern const bclass be_class_ValueProvider;
be_local_class(ClosureValueProvider,
    1,
    &be_class_ValueProvider,
    be_nested_map(5,
    ( (struct bmapnode*) &(const bmapnode[]) {
        { be_const_key_weak(tostring, -1), be_const_closure(class_ClosureValueProvider_tostring_closure) },
        { be_const_key_weak(PARAMS, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_map, {
        be_const_map( *     be_nested_map(1,
    ( (struct bmapnode*) &(const bmapnode[]) {
        { be_const_key_weak(closure, -1), be_const_bytes_instance(0C0606) },
    }))    ) } )) },
        { be_const_key_weak(_closure, 4), be_const_var(0) },
        { be_const_key_weak(produce_value, 1), be_const_closure(class_ClosureValueProvider_produce_value_closure) },
        { be_const_key_weak(on_param_changed, -1), be_const_closure(class_ClosureValueProvider_on_param_changed_closure) },
    })),
    be_str_weak(ClosureValueProvider)
);

/********************************************************************
** Solidified function: get_registered_events
********************************************************************/
be_local_closure(get_registered_events,   /* name */
  be_nested_proto(
    2,                          /* nstack */
    0,                          /* argc */
    0,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    0,                          /* has sup protos */
    NULL,                       /* no sub protos */
    1,                          /* has constants */
    ( &(const bvalue[ 3]) {     /* constants */
    /* K0   */  be_nested_str_weak(animation),
    /* K1   */  be_nested_str_weak(event_manager),
    /* K2   */  be_nested_str_weak(get_registered_events),
    }),
    be_str_weak(get_registered_events),
    &be_const_str_solidified,
    ( &(const binstruction[ 5]) {  /* code */
      0xB8020000,  //  0000  GETNGBL	R0	K0
      0x88000101,  //  0001  GETMBR	R0	R0	K1
      0x8C000102,  //  0002  GETMET	R0	R0	K2
      0x7C000200,  //  0003  CALL	R0	1
      0x80040000,  //  0004  RET	1	R0
    })
  )
);
/*******************************************************************/


/********************************************************************
** Solidified function: pulsating_animation
********************************************************************/
be_local_closure(pulsating_animation,   /* name */
  be_nested_proto(
    4,                          /* nstack */
    1,                          /* argc */
    0,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    0,                          /* has sup protos */
    NULL,                       /* no sub protos */
    1,                          /* has constants */
    ( &(const bvalue[ 5]) {     /* constants */
    /* K0   */  be_nested_str_weak(animation),
    /* K1   */  be_nested_str_weak(breathe_animation),
    /* K2   */  be_nested_str_weak(curve_factor),
    /* K3   */  be_const_int(1),
    /* K4   */  be_nested_str_weak(period),
    }),
    be_str_weak(pulsating_animation),
    &be_const_str_solidified,
    ( &(const binstruction[ 8]) {  /* code */
      0xB8060000,  //  0000  GETNGBL	R1	K0
      0x8C040301,  //  0001  GETMET	R1	R1	K1
      0x5C0C0000,  //  0002  MOVE	R3	R0
      0x7C040400,  //  0003  CALL	R1	2
      0x90060503,  //  0004  SETMBR	R1	K2	K3
      0x540A03E7,  //  0005  LDINT	R2	1000
      0x90060802,  //  0006  SETMBR	R1	K4	R2
      0x80040200,  //  0007  RET	1	R1
    })
  )
);
/*******************************************************************/

// compact class 'StripLengthProvider' ktab size: 4, total: 6 (saved 16 bytes)
static const bvalue be_ktab_class_StripLengthProvider[4] = {
  /* K0   */  be_nested_str_weak(engine),
  /* K1   */  be_nested_str_weak(strip_length),
  /* K2   */  be_nested_str_weak(unknown),
  /* K3   */  be_nested_str_weak(StripLengthProvider_X28length_X3D_X25s_X29),
};


extern const bclass be_class_StripLengthProvider;

/********************************************************************
** Solidified function: produce_value
********************************************************************/
be_local_closure(class_StripLengthProvider_produce_value,   /* name */
  be_nested_proto(
    4,                          /* nstack */
    3,                          /* argc */
    10,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    0,                          /* has sup protos */
    NULL,                       /* no sub protos */
    1,                          /* has constants */
    &be_ktab_class_StripLengthProvider,     /* shared constants */
    be_str_weak(produce_value),
    &be_const_str_solidified,
    ( &(const binstruction[ 3]) {  /* code */
      0x880C0100,  //  0000  GETMBR	R3	R0	K0
      0x880C0701,  //  0001  GETMBR	R3	R3	K1
      0x80040600,  //  0002  RET	1	R3
    })
  )
);
/*******************************************************************/


/********************************************************************
** Solidified function: tostring
********************************************************************/
be_local_closure(class_StripLengthProvider_tostring,   /* name */
  be_nested_proto(
    5,                          /* nstack */
    1,                          /* argc */
    10,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    0,                          /* has sup protos */
    NULL,                       /* no sub protos */
    1,                          /* has constants */
    &be_ktab_class_StripLengthProvider,     /* shared constants */
    be_str_weak(tostring),
    &be_const_str_solidified,
    ( &(const binstruction[13]) {  /* code */
      0x88040100,  //  0000  GETMBR	R1	R0	K0
      0x4C080000,  //  0001  LDNIL	R2
      0x20040202,  //  0002  NE	R1	R1	R2
      0x78060002,  //  0003  JMPF	R1	#0007
      0x88040100,  //  0004  GETMBR	R1	R0	K0
      0x88040301,  //  0005  GETMBR	R1	R1	K1
      0x70020000,  //  0006  JMP		#0008
      0x58040002,  //  0007  LDCONST	R1	K2
      0x60080018,  //  0008  GETGBL	R2	G24
      0x580C0003,  //  0009  LDCONST	R3	K3
      0x5C100200,  //  000A  MOVE	R4	R1
      0x7C080400,  //  000B  CALL	R2	2
      0x80040400,  //  000C  RET	1	R2
    })
  )
);
/*******************************************************************/


/********************************************************************
** Solidified class: StripLengthProvider
********************************************************************/
extern const bclass be_class_ValueProvider;
be_local_class(StripLengthProvider,
    0,
    &be_class_ValueProvider,
    be_nested_map(2,
    ( (struct bmapnode*) &(const bmapnode[]) {
        { be_const_key_weak(tostring, -1), be_const_closure(class_StripLengthProvider_tostring_closure) },
        { be_const_key_weak(produce_value, 0), be_const_closure(class_StripLengthProvider_produce_value_closure) },
    })),
    be_str_weak(StripLengthProvider)
);

/********************************************************************
** Solidified function: solid
********************************************************************/
be_local_closure(solid,   /* name */
  be_nested_proto(
    4,                          /* nstack */
    1,                          /* argc */
    0,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    0,                          /* has sup protos */
    NULL,                       /* no sub protos */
    1,                          /* has constants */
    ( &(const bvalue[ 1]) {     /* constants */
    /* K0   */  be_nested_str_weak(animation),
    }),
    be_str_weak(solid),
    &be_const_str_solidified,
    ( &(const binstruction[ 5]) {  /* code */
      0xB8060000,  //  0000  GETNGBL	R1	K0
      0x8C040300,  //  0001  GETMET	R1	R1	K0
      0x5C0C0000,  //  0002  MOVE	R3	R0
      0x7C040400,  //  0003  CALL	R1	2
      0x80040200,  //  0004  RET	1	R1
    })
  )
);
/*******************************************************************/

// compact class 'BreatheColorProvider' ktab size: 18, total: 29 (saved 88 bytes)
static const bvalue be_ktab_class_BreatheColorProvider[18] = {
  /* K0   */  be_nested_str_weak(BreatheColorProvider_X28base_color_X3D0x_X2508x_X2C_X20min_brightness_X3D_X25s_X2C_X20max_brightness_X3D_X25s_X2C_X20duration_X3D_X25s_X2C_X20curve_factor_X3D_X25s_X29),
  /* K1   */  be_nested_str_weak(base_color),
  /* K2   */  be_nested_str_weak(min_brightness),
  /* K3   */  be_nested_str_weak(max_brightness),
  /* K4   */  be_nested_str_weak(duration),
  /* K5   */  be_nested_str_weak(curve_factor),
  /* K6   */  be_const_int(1),
  /* K7   */  be_nested_str_weak(form),
  /* K8   */  be_nested_str_weak(animation),
  /* K9   */  be_nested_str_weak(COSINE),
  /* K10  */  be_nested_str_weak(on_param_changed),
  /* K11  */  be_nested_str_weak(produce_value),
  /* K12  */  be_nested_str_weak(tasmota),
  /* K13  */  be_nested_str_weak(scale_uint),
  /* K14  */  be_const_int(0),
  /* K15  */  be_nested_str_weak(init),
  /* K16  */  be_nested_str_weak(min_value),
  /* K17  */  be_nested_str_weak(max_value),
};


extern const bclass be_class_BreatheColorProvider;

/********************************************************************
** Solidified function: tostring
********************************************************************/
be_local_closure(class_BreatheColorProvider_tostring,   /* name */
  be_nested_proto(
    8,                          /* nstack */
    1,                          /* argc */
    10,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    0,                          /* has sup protos */
    NULL,                       /* no sub protos */
    1,                          /* has constants */
    &be_ktab_class_BreatheColorProvider,     /* shared constants */
    be_str_weak(tostring),
    &be_const_str_solidified,
    ( &(const binstruction[ 9]) {  /* code */
      0x60040018,  //  0000  GETGBL	R1	G24
      0x58080000,  //  0001  LDCONST	R2	K0
      0x880C0101,  //  0002  GETMBR	R3	R0	K1
      0x88100102,  //  0003  GETMBR	R4	R0	K2
      0x88140103,  //  0004  GETMBR	R5	R0	K3
      0x88180104,  //  0005  GETMBR	R6	R0	K4
      0x881C0105,  //  0006  GETMBR	R7	R0	K5
      0x7C040C00,  //  0007  CALL	R1	6
      0x80040200,  //  0008  RET	1	R1
    })
  )
);
/*******************************************************************/


/********************************************************************
** Solidified function: on_param_changed
********************************************************************/
be_local_closure(class_BreatheColorProvider_on_param_changed,   /* name */
  be_nested_proto(
    7,                          /* nstack */
    3,                          /* argc */
    10,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    0,                          /* has sup protos */
    NULL,                       /* no sub protos */
    1,                          /* has constants */
    &be_ktab_class_BreatheColorProvider,     /* shared constants */
    be_str_weak(on_param_changed),
    &be_const_str_solidified,
    ( &(const binstruction[19]) {  /* code */
      0x1C0C0305,  //  0000  EQ	R3	R1	K5
      0x780E0008,  //  0001  JMPF	R3	#000B
      0x1C0C0506,  //  0002  EQ	R3	R2	K6
      0x780E0003,  //  0003  JMPF	R3	#0008
      0xB80E1000,  //  0004  GETNGBL	R3	K8
      0x880C0709,  //  0005  GETMBR	R3	R3	K9
      0x90020E03,  //  0006  SETMBR	R0	K7	R3
      0x70020002,  //  0007  JMP		#000B
      0xB80E1000,  //  0008  GETNGBL	R3	K8
      0x880C0709,  //  0009  GETMBR	R3	R3	K9
      0x90020E03,  //  000A  SETMBR	R0	K7	R3
      0x600C0003,  //  000B  GETGBL	R3	G3
      0x5C100000,  //  000C  MOVE	R4	R0
      0x7C0C0200,  //  000D  CALL	R3	1
      0x8C0C070A,  //  000E  GETMET	R3	R3	K10
      0x5C140200,  //  000F  MOVE	R5	R1
      0x5C180400,  //  0010  MOVE	R6	R2
      0x7C0C0600,  //  0011  CALL	R3	3
      0x80000000,  //  0012  RET	0
    })
  )
);
/*******************************************************************/


/********************************************************************
** Solidified function: produce_value
********************************************************************/
be_local_closure(class_BreatheColorProvider_produce_value,   /* name */
  be_nested_proto(
    19,                          /* nstack */
    3,                          /* argc */
    10,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    0,                          /* has sup protos */
    NULL,                       /* no sub protos */
    1,                          /* has constants */
    &be_ktab_class_BreatheColorProvider,     /* shared constants */
    be_str_weak(produce_value),
    &be_const_str_solidified,
    ( &(const binstruction[97]) {  /* code */
      0x600C0003,  //  0000  GETGBL	R3	G3
      0x5C100000,  //  0001  MOVE	R4	R0
      0x7C0C0200,  //  0002  CALL	R3	1
      0x8C0C070B,  //  0003  GETMET	R3	R3	K11
      0x5C140200,  //  0004  MOVE	R5	R1
      0x5C180400,  //  0005  MOVE	R6	R2
      0x7C0C0600,  //  0006  CALL	R3	3
      0x88100105,  //  0007  GETMBR	R4	R0	K5
      0x5C140600,  //  0008  MOVE	R5	R3
      0x24180906,  //  0009  GT	R6	R4	K6
      0x781A0019,  //  000A  JMPF	R6	#0025
      0xB81A1800,  //  000B  GETNGBL	R6	K12
      0x8C180D0D,  //  000C  GETMET	R6	R6	K13
      0x5C200600,  //  000D  MOVE	R8	R3
      0x5824000E,  //  000E  LDCONST	R9	K14
      0x542A00FE,  //  000F  LDINT	R10	255
      0x582C000E,  //  0010  LDCONST	R11	K14
      0x54321FFF,  //  0011  LDINT	R12	8192
      0x7C180C00,  //  0012  CALL	R6	6
      0x5C1C0800,  //  0013  MOVE	R7	R4
      0x24200F06,  //  0014  GT	R8	R7	K6
      0x78220005,  //  0015  JMPF	R8	#001C
      0x08200C06,  //  0016  MUL	R8	R6	R6
      0x54261FFF,  //  0017  LDINT	R9	8192
      0x0C201009,  //  0018  DIV	R8	R8	R9
      0x5C181000,  //  0019  MOVE	R6	R8
      0x041C0F06,  //  001A  SUB	R7	R7	K6
      0x7001FFF7,  //  001B  JMP		#0014
      0xB8221800,  //  001C  GETNGBL	R8	K12
      0x8C20110D,  //  001D  GETMET	R8	R8	K13
      0x5C280C00,  //  001E  MOVE	R10	R6
      0x582C000E,  //  001F  LDCONST	R11	K14
      0x54321FFF,  //  0020  LDINT	R12	8192
      0x5834000E,  //  0021  LDCONST	R13	K14
      0x543A00FE,  //  0022  LDINT	R14	255
      0x7C200C00,  //  0023  CALL	R8	6
      0x5C141000,  //  0024  MOVE	R5	R8
      0xB81A1800,  //  0025  GETNGBL	R6	K12
      0x8C180D0D,  //  0026  GETMET	R6	R6	K13
      0x5C200A00,  //  0027  MOVE	R8	R5
      0x5824000E,  //  0028  LDCONST	R9	K14
      0x542A00FE,  //  0029  LDINT	R10	255
      0x882C0102,  //  002A  GETMBR	R11	R0	K2
      0x88300103,  //  002B  GETMBR	R12	R0	K3
      0x7C180C00,  //  002C  CALL	R6	6
      0x881C0101,  //  002D  GETMBR	R7	R0	K1
      0x54220017,  //  002E  LDINT	R8	24
      0x3C200E08,  //  002F  SHR	R8	R7	R8
      0x542600FE,  //  0030  LDINT	R9	255
      0x2C201009,  //  0031  AND	R8	R8	R9
      0x5426000F,  //  0032  LDINT	R9	16
      0x3C240E09,  //  0033  SHR	R9	R7	R9
      0x542A00FE,  //  0034  LDINT	R10	255
      0x2C24120A,  //  0035  AND	R9	R9	R10
      0x542A0007,  //  0036  LDINT	R10	8
      0x3C280E0A,  //  0037  SHR	R10	R7	R10
      0x542E00FE,  //  0038  LDINT	R11	255
      0x2C28140B,  //  0039  AND	R10	R10	R11
      0x542E00FE,  //  003A  LDINT	R11	255
      0x2C2C0E0B,  //  003B  AND	R11	R7	R11
      0xB8321800,  //  003C  GETNGBL	R12	K12
      0x8C30190D,  //  003D  GETMET	R12	R12	K13
      0x5C381200,  //  003E  MOVE	R14	R9
      0x583C000E,  //  003F  LDCONST	R15	K14
      0x544200FE,  //  0040  LDINT	R16	255
      0x5844000E,  //  0041  LDCONST	R17	K14
      0x5C480C00,  //  0042  MOVE	R18	R6
      0x7C300C00,  //  0043  CALL	R12	6
      0x5C241800,  //  0044  MOVE	R9	R12
      0xB8321800,  //  0045  GETNGBL	R12	K12
      0x8C30190D,  //  0046  GETMET	R12	R12	K13
      0x5C381400,  //  0047  MOVE	R14	R10
      0x583C000E,  //  0048  LDCONST	R15	K14
      0x544200FE,  //  0049  LDINT	R16	255
      0x5844000E,  //  004A  LDCONST	R17	K14
      0x5C480C00,  //  004B  MOVE	R18	R6
      0x7C300C00,  //  004C  CALL	R12	6
      0x5C281800,  //  004D  MOVE	R10	R12
      0xB8321800,  //  004E  GETNGBL	R12	K12
      0x8C30190D,  //  004F  GETMET	R12	R12	K13
      0x5C381600,  //  0050  MOVE	R14	R11
      0x583C000E,  //  0051  LDCONST	R15	K14
      0x544200FE,  //  0052  LDINT	R16	255
      0x5844000E,  //  0053  LDCONST	R17	K14
      0x5C480C00,  //  0054  MOVE	R18	R6
      0x7C300C00,  //  0055  CALL	R12	6
      0x5C2C1800,  //  0056  MOVE	R11	R12
      0x54320017,  //  0057  LDINT	R12	24
      0x3830100C,  //  0058  SHL	R12	R8	R12
      0x5436000F,  //  0059  LDINT	R13	16
      0x3834120D,  //  005A  SHL	R13	R9	R13
      0x3030180D,  //  005B  OR	R12	R12	R13
      0x54360007,  //  005C  LDINT	R13	8
      0x3834140D,  //  005D  SHL	R13	R10	R13
      0x3030180D,  //  005E  OR	R12	R12	R13
      0x3030180B,  //  005F  OR	R12	R12	R11
      0x80041800,  //  0060  RET	1	R12
    })
  )
);
/*******************************************************************/


/********************************************************************
** Solidified function: init
********************************************************************/
be_local_closure(class_BreatheColorProvider_init,   /* name */
  be_nested_proto(
    5,                          /* nstack */
    2,                          /* argc */
    10,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    0,                          /* has sup protos */
    NULL,                       /* no sub protos */
    1,                          /* has constants */
    &be_ktab_class_BreatheColorProvider,     /* shared constants */
    be_str_weak(init),
    &be_const_str_solidified,
    ( &(const binstruction[15]) {  /* code */
      0x60080003,  //  0000  GETGBL	R2	G3
      0x5C0C0000,  //  0001  MOVE	R3	R0
      0x7C080200,  //  0002  CALL	R2	1
      0x8C08050F,  //  0003  GETMET	R2	R2	K15
      0x5C100200,  //  0004  MOVE	R4	R1
      0x7C080400,  //  0005  CALL	R2	2
      0xB80A1000,  //  0006  GETNGBL	R2	K8
      0x88080509,  //  0007  GETMBR	R2	R2	K9
      0x90020E02,  //  0008  SETMBR	R0	K7	R2
      0x9002210E,  //  0009  SETMBR	R0	K16	K14
      0x540A00FE,  //  000A  LDINT	R2	255
      0x90022202,  //  000B  SETMBR	R0	K17	R2
      0x540A0BB7,  //  000C  LDINT	R2	3000
      0x90020802,  //  000D  SETMBR	R0	K4	R2
      0x80000000,  //  000E  RET	0
    })
  )
);
/*******************************************************************/


/********************************************************************
** Solidified class: BreatheColorProvider
********************************************************************/
extern const bclass be_class_OscillatorValueProvider;
be_local_class(BreatheColorProvider,
    0,
    &be_class_OscillatorValueProvider,
    be_nested_map(5,
    ( (struct bmapnode*) &(const bmapnode[]) {
        { be_const_key_weak(tostring, 1), be_const_closure(class_BreatheColorProvider_tostring_closure) },
        { be_const_key_weak(init, -1), be_const_closure(class_BreatheColorProvider_init_closure) },
        { be_const_key_weak(on_param_changed, -1), be_const_closure(class_BreatheColorProvider_on_param_changed_closure) },
        { be_const_key_weak(PARAMS, 4), be_const_simple_instance(be_nested_simple_instance(&be_class_map, {
        be_const_map( *     be_nested_map(4,
    ( (struct bmapnode*) &(const bmapnode[]) {
        { be_const_key_weak(base_color, -1), be_const_bytes_instance(0400FF) },
        { be_const_key_weak(max_brightness, -1), be_const_bytes_instance(07000001FF0001FF00) },
        { be_const_key_weak(curve_factor, -1), be_const_bytes_instance(07000100050002) },
        { be_const_key_weak(min_brightness, -1), be_const_bytes_instance(07000001FF000000) },
    }))    ) } )) },
        { be_const_key_weak(produce_value, -1), be_const_closure(class_BreatheColorProvider_produce_value_closure) },
    })),
    be_str_weak(BreatheColorProvider)
);
// compact class 'CrenelPositionAnimation' ktab size: 19, total: 24 (saved 40 bytes)
static const bvalue be_ktab_class_CrenelPositionAnimation[19] = {
  /* K0   */  be_nested_str_weak(back_color),
  /* K1   */  be_nested_str_weak(pos),
  /* K2   */  be_nested_str_weak(pulse_size),
  /* K3   */  be_nested_str_weak(low_size),
  /* K4   */  be_nested_str_weak(nb_pulse),
  /* K5   */  be_nested_str_weak(color),
  /* K6   */  be_const_int(-16777216),
  /* K7   */  be_nested_str_weak(fill_pixels),
  /* K8   */  be_nested_str_weak(pixels),
  /* K9   */  be_const_int(0),
  /* K10  */  be_const_int(1),
  /* K11  */  be_nested_str_weak(set_pixel_color),
  /* K12  */  be_nested_str_weak(get_param),
  /* K13  */  be_nested_str_weak(animation),
  /* K14  */  be_nested_str_weak(is_value_provider),
  /* K15  */  be_nested_str_weak(0x_X2508x),
  /* K16  */  be_nested_str_weak(CrenelPositionAnimation_X28color_X3D_X25s_X2C_X20pos_X3D_X25s_X2C_X20pulse_size_X3D_X25s_X2C_X20low_size_X3D_X25s_X2C_X20nb_pulse_X3D_X25s_X2C_X20priority_X3D_X25s_X2C_X20running_X3D_X25s_X29),
  /* K17  */  be_nested_str_weak(priority),
  /* K18  */  be_nested_str_weak(is_running),
};


extern const bclass be_class_CrenelPositionAnimation;

/********************************************************************
** Solidified function: render
********************************************************************/
be_local_closure(class_CrenelPositionAnimation_render,   /* name */
  be_nested_proto(
    16,                          /* nstack */
    4,                          /* argc */
    10,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    0,                          /* has sup protos */
    NULL,                       /* no sub protos */
    1,                          /* has constants */
    &be_ktab_class_CrenelPositionAnimation,     /* shared constants */
    be_str_weak(render),
    &be_const_str_solidified,
    ( &(const binstruction[64]) {  /* code */
      0x88100100,  //  0000  GETMBR	R4	R0	K0
      0x88140101,  //  0001  GETMBR	R5	R0	K1
      0x88180102,  //  0002  GETMBR	R6	R0	K2
      0x881C0103,  //  0003  GETMBR	R7	R0	K3
      0x88200104,  //  0004  GETMBR	R8	R0	K4
      0x88240105,  //  0005  GETMBR	R9	R0	K5
      0x60280009,  //  0006  GETGBL	R10	G9
      0x002C0C07,  //  0007  ADD	R11	R6	R7
      0x7C280200,  //  0008  CALL	R10	1
      0x202C0906,  //  0009  NE	R11	R4	K6
      0x782E0003,  //  000A  JMPF	R11	#000F
      0x8C2C0307,  //  000B  GETMET	R11	R1	K7
      0x88340308,  //  000C  GETMBR	R13	R1	K8
      0x5C380800,  //  000D  MOVE	R14	R4
      0x7C2C0600,  //  000E  CALL	R11	3
      0x182C1509,  //  000F  LE	R11	R10	K9
      0x782E0000,  //  0010  JMPF	R11	#0012
      0x5828000A,  //  0011  LDCONST	R10	K10
      0x1C2C1109,  //  0012  EQ	R11	R8	K9
      0x782E0001,  //  0013  JMPF	R11	#0016
      0x502C0200,  //  0014  LDBOOL	R11	1	0
      0x80041600,  //  0015  RET	1	R11
      0x142C1109,  //  0016  LT	R11	R8	K9
      0x782E0006,  //  0017  JMPF	R11	#001F
      0x002C0A06,  //  0018  ADD	R11	R5	R6
      0x042C170A,  //  0019  SUB	R11	R11	K10
      0x102C160A,  //  001A  MOD	R11	R11	R10
      0x042C1606,  //  001B  SUB	R11	R11	R6
      0x002C170A,  //  001C  ADD	R11	R11	K10
      0x5C141600,  //  001D  MOVE	R5	R11
      0x70020007,  //  001E  JMP		#0027
      0x442C1400,  //  001F  NEG	R11	R10
      0x142C0A0B,  //  0020  LT	R11	R5	R11
      0x782E0004,  //  0021  JMPF	R11	#0027
      0x202C1109,  //  0022  NE	R11	R8	K9
      0x782E0002,  //  0023  JMPF	R11	#0027
      0x00140A0A,  //  0024  ADD	R5	R5	R10
      0x0420110A,  //  0025  SUB	R8	R8	K10
      0x7001FFF7,  //  0026  JMP		#001F
      0x142C0A03,  //  0027  LT	R11	R5	R3
      0x782E0014,  //  0028  JMPF	R11	#003E
      0x202C1109,  //  0029  NE	R11	R8	K9
      0x782E0012,  //  002A  JMPF	R11	#003E
      0x582C0009,  //  002B  LDCONST	R11	K9
      0x14300B09,  //  002C  LT	R12	R5	K9
      0x78320001,  //  002D  JMPF	R12	#0030
      0x44300A00,  //  002E  NEG	R12	R5
      0x5C2C1800,  //  002F  MOVE	R11	R12
      0x14301606,  //  0030  LT	R12	R11	R6
      0x78320008,  //  0031  JMPF	R12	#003B
      0x00300A0B,  //  0032  ADD	R12	R5	R11
      0x14301803,  //  0033  LT	R12	R12	R3
      0x78320005,  //  0034  JMPF	R12	#003B
      0x8C30030B,  //  0035  GETMET	R12	R1	K11
      0x00380A0B,  //  0036  ADD	R14	R5	R11
      0x5C3C1200,  //  0037  MOVE	R15	R9
      0x7C300600,  //  0038  CALL	R12	3
      0x002C170A,  //  0039  ADD	R11	R11	K10
      0x7001FFF4,  //  003A  JMP		#0030
      0x00140A0A,  //  003B  ADD	R5	R5	R10
      0x0420110A,  //  003C  SUB	R8	R8	K10
      0x7001FFE8,  //  003D  JMP		#0027
      0x502C0200,  //  003E  LDBOOL	R11	1	0
      0x80041600,  //  003F  RET	1	R11
    })
  )
);
/*******************************************************************/


/********************************************************************
** Solidified function: tostring
********************************************************************/
be_local_closure(class_CrenelPositionAnimation_tostring,   /* name */
  be_nested_proto(
    12,                          /* nstack */
    1,                          /* argc */
    10,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    0,                          /* has sup protos */
    NULL,                       /* no sub protos */
    1,                          /* has constants */
    &be_ktab_class_CrenelPositionAnimation,     /* shared constants */
    be_str_weak(tostring),
    &be_const_str_solidified,
    ( &(const binstruction[30]) {  /* code */
      0x4C040000,  //  0000  LDNIL	R1
      0x8C08010C,  //  0001  GETMET	R2	R0	K12
      0x58100005,  //  0002  LDCONST	R4	K5
      0x7C080400,  //  0003  CALL	R2	2
      0xB80E1A00,  //  0004  GETNGBL	R3	K13
      0x8C0C070E,  //  0005  GETMET	R3	R3	K14
      0x5C140400,  //  0006  MOVE	R5	R2
      0x7C0C0400,  //  0007  CALL	R3	2
      0x780E0004,  //  0008  JMPF	R3	#000E
      0x600C0008,  //  0009  GETGBL	R3	G8
      0x5C100400,  //  000A  MOVE	R4	R2
      0x7C0C0200,  //  000B  CALL	R3	1
      0x5C040600,  //  000C  MOVE	R1	R3
      0x70020004,  //  000D  JMP		#0013
      0x600C0018,  //  000E  GETGBL	R3	G24
      0x5810000F,  //  000F  LDCONST	R4	K15
      0x88140105,  //  0010  GETMBR	R5	R0	K5
      0x7C0C0400,  //  0011  CALL	R3	2
      0x5C040600,  //  0012  MOVE	R1	R3
      0x600C0018,  //  0013  GETGBL	R3	G24
      0x58100010,  //  0014  LDCONST	R4	K16
      0x5C140200,  //  0015  MOVE	R5	R1
      0x88180101,  //  0016  GETMBR	R6	R0	K1
      0x881C0102,  //  0017  GETMBR	R7	R0	K2
      0x88200103,  //  0018  GETMBR	R8	R0	K3
      0x88240104,  //  0019  GETMBR	R9	R0	K4
      0x88280111,  //  001A  GETMBR	R10	R0	K17
      0x882C0112,  //  001B  GETMBR	R11	R0	K18
      0x7C0C1000,  //  001C  CALL	R3	8
      0x80040600,  //  001D  RET	1	R3
    })
  )
);
/*******************************************************************/


/********************************************************************
** Solidified class: CrenelPositionAnimation
********************************************************************/
extern const bclass be_class_Animation;
be_local_class(CrenelPositionAnimation,
    0,
    &be_class_Animation,
    be_nested_map(3,
    ( (struct bmapnode*) &(const bmapnode[]) {
        { be_const_key_weak(PARAMS, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_map, {
        be_const_map( *     be_nested_map(5,
    ( (struct bmapnode*) &(const bmapnode[]) {
        { be_const_key_weak(nb_pulse, -1), be_const_bytes_instance(0400FF) },
        { be_const_key_weak(low_size, 4), be_const_bytes_instance(0500000003) },
        { be_const_key_weak(pos, 1), be_const_bytes_instance(040000) },
        { be_const_key_weak(pulse_size, -1), be_const_bytes_instance(0500000001) },
        { be_const_key_weak(back_color, -1), be_const_bytes_instance(0402000000FF) },
    }))    ) } )) },
        { be_const_key_weak(render, 2), be_const_closure(class_CrenelPositionAnimation_render_closure) },
        { be_const_key_weak(tostring, -1), be_const_closure(class_CrenelPositionAnimation_tostring_closure) },
    })),
    be_str_weak(CrenelPositionAnimation)
);

/********************************************************************
** Solidified function: create_closure_value
********************************************************************/
be_local_closure(create_closure_value,   /* name */
  be_nested_proto(
    5,                          /* nstack */
    2,                          /* argc */
    0,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    0,                          /* has sup protos */
    NULL,                       /* no sub protos */
    1,                          /* has constants */
    ( &(const bvalue[ 3]) {     /* constants */
    /* K0   */  be_nested_str_weak(animation),
    /* K1   */  be_nested_str_weak(closure_value),
    /* K2   */  be_nested_str_weak(closure),
    }),
    be_str_weak(create_closure_value),
    &be_const_str_solidified,
    ( &(const binstruction[ 6]) {  /* code */
      0xB80A0000,  //  0000  GETNGBL	R2	K0
      0x8C080501,  //  0001  GETMET	R2	R2	K1
      0x5C100000,  //  0002  MOVE	R4	R0
      0x7C080400,  //  0003  CALL	R2	2
      0x900A0401,  //  0004  SETMBR	R2	K2	R1
      0x80040400,  //  0005  RET	1	R2
    })
  )
);
/*******************************************************************/


/********************************************************************
** Solidified function: animation_init
********************************************************************/
be_local_closure(animation_init,   /* name */
  be_nested_proto(
    4,                          /* nstack */
    1,                          /* argc */
    0,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    1,                          /* has sup protos */
    ( &(const struct bproto*[ 1]) {
      be_nested_proto(
        7,                          /* nstack */
        1,                          /* argc */
        0,                          /* varg */
        0,                          /* has upvals */
        NULL,                       /* no upvals */
        0,                          /* has sup protos */
        NULL,                       /* no sub protos */
        1,                          /* has constants */
        ( &(const bvalue[ 5]) {     /* constants */
        /* K0   */  be_nested_str_weak(animation),
        /* K1   */  be_nested_str_weak(introspect),
        /* K2   */  be_nested_str_weak(contains),
        /* K3   */  be_nested_str_weak(_ntv),
        /* K4   */  be_nested_str_weak(undefined),
        }),
        be_str_weak(_anonymous_),
        &be_const_str_solidified,
        ( &(const binstruction[16]) {  /* code */
          0xA4060000,  //  0000  IMPORT	R1	K0
          0xA40A0200,  //  0001  IMPORT	R2	K1
          0x8C0C0502,  //  0002  GETMET	R3	R2	K2
          0x88140303,  //  0003  GETMBR	R5	R1	K3
          0x5C180000,  //  0004  MOVE	R6	R0
          0x7C0C0600,  //  0005  CALL	R3	3
          0x780E0003,  //  0006  JMPF	R3	#000B
          0x880C0303,  //  0007  GETMBR	R3	R1	K3
          0x880C0600,  //  0008  GETMBR	R3	R3	R0
          0x80040600,  //  0009  RET	1	R3
          0x70020003,  //  000A  JMP		#000F
          0x600C000B,  //  000B  GETGBL	R3	G11
          0x58100004,  //  000C  LDCONST	R4	K4
          0x7C0C0200,  //  000D  CALL	R3	1
          0x80040600,  //  000E  RET	1	R3
          0x80000000,  //  000F  RET	0
        })
      ),
    }),
    1,                          /* has constants */
    ( &(const bvalue[ 6]) {     /* constants */
    /* K0   */  be_nested_str_weak(animation),
    /* K1   */  be_nested_str_weak(_ntv),
    /* K2   */  be_nested_str_weak(event_manager),
    /* K3   */  be_nested_str_weak(EventManager),
    /* K4   */  be_nested_str_weak(member),
    /* K5   */  be_nested_str_weak(_user_functions),
    }),
    be_str_weak(animation_init),
    &be_const_str_solidified,
    ( &(const binstruction[13]) {  /* code */
      0x6004000B,  //  0000  GETGBL	R1	G11
      0x58080000,  //  0001  LDCONST	R2	K0
      0x7C040200,  //  0002  CALL	R1	1
      0x90060200,  //  0003  SETMBR	R1	K1	R0
      0x8C080103,  //  0004  GETMET	R2	R0	K3
      0x7C080200,  //  0005  CALL	R2	1
      0x90060402,  //  0006  SETMBR	R1	K2	R2
      0x84080000,  //  0007  CLOSURE	R2	P0
      0x90060802,  //  0008  SETMBR	R1	K4	R2
      0x60080013,  //  0009  GETGBL	R2	G19
      0x7C080000,  //  000A  CALL	R2	0
      0x90060A02,  //  000B  SETMBR	R1	K5	R2
      0x80040200,  //  000C  RET	1	R1
    })
  )
);
/*******************************************************************/

extern const bclass be_class_ParameterizedObject;
// compact class 'ParameterizedObject' ktab size: 59, total: 124 (saved 520 bytes)
static const bvalue be_ktab_class_ParameterizedObject[59] = {
  /* K0   */  be_const_class(be_class_ParameterizedObject),
  /* K1   */  be_const_int(1),
  /* K2   */  be_const_int(0),
  /* K3   */  be_nested_str_weak(_MASK),
  /* K4   */  be_nested_str_weak(find),
  /* K5   */  be_const_int(2),
  /* K6   */  be_nested_str_weak(_TYPES),
  /* K7   */  be_nested_str_weak(push),
  /* K8   */  be_nested_str_weak(has_param),
  /* K9   */  be_nested_str_weak(_set_parameter_value),
  /* K10  */  be_nested_str_weak(_X27_X25s_X27_X20object_X20has_X20no_X20attribute_X20_X27_X25s_X27),
  /* K11  */  be_nested_str_weak(attribute_error),
  /* K12  */  be_nested_str_weak(_get_param_def),
  /* K13  */  be_nested_str_weak(animation),
  /* K14  */  be_nested_str_weak(is_value_provider),
  /* K15  */  be_nested_str_weak(constraint_mask),
  /* K16  */  be_nested_str_weak(nillable),
  /* K17  */  be_nested_str_weak(default),
  /* K18  */  be_nested_str_weak(constraint_find),
  /* K19  */  be_nested_str_weak(_X27_X25s_X27_X20does_X20not_X20accept_X20nil_X20values),
  /* K20  */  be_nested_str_weak(value_error),
  /* K21  */  be_nested_str_weak(type),
  /* K22  */  be_nested_str_weak(int),
  /* K23  */  be_nested_str_weak(time),
  /* K24  */  be_nested_str_weak(percentage),
  /* K25  */  be_nested_str_weak(color),
  /* K26  */  be_nested_str_weak(palette),
  /* K27  */  be_nested_str_weak(bytes),
  /* K28  */  be_nested_str_weak(any),
  /* K29  */  be_nested_str_weak(real),
  /* K30  */  be_nested_str_weak(math),
  /* K31  */  be_nested_str_weak(round),
  /* K32  */  be_nested_str_weak(instance),
  /* K33  */  be_nested_str_weak(_X27_X25s_X27_X20expects_X20type_X20_X27_X25s_X27_X20but_X20got_X20_X27_X25s_X27_X20_X28value_X3A_X20_X25s_X29),
  /* K34  */  be_nested_str_weak(min),
  /* K35  */  be_nested_str_weak(_X27_X25s_X27_X20value_X20_X25s_X20is_X20below_X20minimum_X20_X25s),
  /* K36  */  be_nested_str_weak(max),
  /* K37  */  be_nested_str_weak(_X27_X25s_X27_X20value_X20_X25s_X20is_X20above_X20maximum_X20_X25s),
  /* K38  */  be_nested_str_weak(enum),
  /* K39  */  be_nested_str_weak(_X27_X25s_X27_X20value_X20_X25s_X20is_X20not_X20in_X20allowed_X20values_X20_X25s),
  /* K40  */  be_nested_str_weak(values),
  /* K41  */  be_nested_str_weak(contains),
  /* K42  */  be_nested_str_weak(resolve_value),
  /* K43  */  be_nested_str_weak(engine),
  /* K44  */  be_nested_str_weak(time_ms),
  /* K45  */  be_nested_str_weak(is_running),
  /* K46  */  be_nested_str_weak(start_time),
  /* K47  */  be_nested_str_weak(introspect),
  /* K48  */  be_nested_str_weak(PARAMS),
  /* K49  */  be_nested_str_weak(keys),
  /* K50  */  be_nested_str_weak(stop_iteration),
  /* K51  */  be_nested_str_weak(missing_X20engine_X20parameter),
  /* K52  */  be_nested_str_weak(_init_parameter_values),
  /* K53  */  be_nested_str_weak(toptr),
  /* K54  */  be_nested_str_weak(_validate_param),
  /* K55  */  be_nested_str_weak(on_param_changed),
  /* K56  */  be_nested_str_weak(_X25s_X28running_X3D_X25s_X29),
  /* K57  */  be_nested_str_weak(produce_value),
  /* K58  */  be_nested_str_weak(member),
};


extern const bclass be_class_ParameterizedObject;

/********************************************************************
** Solidified function: constraint_find
********************************************************************/
be_local_closure(class_ParameterizedObject_constraint_find,   /* name */
  be_nested_proto(
    17,                          /* nstack */
    3,                          /* argc */
    12,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    1,                          /* has sup protos */
    ( &(const struct bproto*[ 2]) {
      be_nested_proto(
        7,                          /* nstack */
        2,                          /* argc */
        0,                          /* varg */
        0,                          /* has upvals */
        NULL,                       /* no upvals */
        0,                          /* has sup protos */
        NULL,                       /* no sub protos */
        1,                          /* has constants */
        ( &(const bvalue[ 5]) {     /* constants */
        /* K0   */  be_const_int(0),
        /* K1   */  be_const_int(1),
        /* K2   */  be_const_int(2),
        /* K3   */  be_const_int(3),
        /* K4   */  be_nested_str_weak(get),
        }),
        be_str_weak(_skip_typed_value),
        &be_const_str_solidified,
        ( &(const binstruction[47]) {  /* code */
          0x6008000C,  //  0000  GETGBL	R2	G12
          0x5C0C0000,  //  0001  MOVE	R3	R0
          0x7C080200,  //  0002  CALL	R2	1
          0x28080202,  //  0003  GE	R2	R1	R2
          0x780A0000,  //  0004  JMPF	R2	#0006
          0x80060000,  //  0005  RET	1	K0
          0x94080001,  //  0006  GETIDX	R2	R0	R1
          0x540E0005,  //  0007  LDINT	R3	6
          0x1C0C0403,  //  0008  EQ	R3	R2	R3
          0x780E0001,  //  0009  JMPF	R3	#000C
          0x80060200,  //  000A  RET	1	K1
          0x70020021,  //  000B  JMP		#002E
          0x540E0004,  //  000C  LDINT	R3	5
          0x1C0C0403,  //  000D  EQ	R3	R2	R3
          0x780E0001,  //  000E  JMPF	R3	#0011
          0x80060400,  //  000F  RET	1	K2
          0x7002001C,  //  0010  JMP		#002E
          0x1C0C0500,  //  0011  EQ	R3	R2	K0
          0x780E0001,  //  0012  JMPF	R3	#0015
          0x80060400,  //  0013  RET	1	K2
          0x70020018,  //  0014  JMP		#002E
          0x1C0C0501,  //  0015  EQ	R3	R2	K1
          0x780E0001,  //  0016  JMPF	R3	#0019
          0x80060600,  //  0017  RET	1	K3
          0x70020014,  //  0018  JMP		#002E
          0x1C0C0502,  //  0019  EQ	R3	R2	K2
          0x780E0002,  //  001A  JMPF	R3	#001E
          0x540E0004,  //  001B  LDINT	R3	5
          0x80040600,  //  001C  RET	1	R3
          0x7002000F,  //  001D  JMP		#002E
          0x1C0C0503,  //  001E  EQ	R3	R2	K3
          0x780E0004,  //  001F  JMPF	R3	#0025
          0x000C0301,  //  0020  ADD	R3	R1	K1
          0x940C0003,  //  0021  GETIDX	R3	R0	R3
          0x000E0403,  //  0022  ADD	R3	K2	R3
          0x80040600,  //  0023  RET	1	R3
          0x70020008,  //  0024  JMP		#002E
          0x540E0003,  //  0025  LDINT	R3	4
          0x1C0C0403,  //  0026  EQ	R3	R2	R3
          0x780E0005,  //  0027  JMPF	R3	#002E
          0x8C0C0104,  //  0028  GETMET	R3	R0	K4
          0x00140301,  //  0029  ADD	R5	R1	K1
          0x58180002,  //  002A  LDCONST	R6	K2
          0x7C0C0600,  //  002B  CALL	R3	3
          0x000E0603,  //  002C  ADD	R3	K3	R3
          0x80040600,  //  002D  RET	1	R3
          0x80060000,  //  002E  RET	1	K0
        })
      ),
      be_nested_proto(
        7,                          /* nstack */
        2,                          /* argc */
        0,                          /* varg */
        0,                          /* has upvals */
        NULL,                       /* no upvals */
        0,                          /* has sup protos */
        NULL,                       /* no sub protos */
        1,                          /* has constants */
        ( &(const bvalue[ 6]) {     /* constants */
        /* K0   */  be_const_int(1),
        /* K1   */  be_const_int(0),
        /* K2   */  be_nested_str_weak(get),
        /* K3   */  be_const_int(2),
        /* K4   */  be_const_int(3),
        /* K5   */  be_nested_str_weak(asstring),
        }),
        be_str_weak(_read_typed_value),
        &be_const_str_solidified,
        ( &(const binstruction[83]) {  /* code */
          0x6008000C,  //  0000  GETGBL	R2	G12
          0x5C0C0000,  //  0001  MOVE	R3	R0
          0x7C080200,  //  0002  CALL	R2	1
          0x28080202,  //  0003  GE	R2	R1	R2
          0x780A0001,  //  0004  JMPF	R2	#0007
          0x4C080000,  //  0005  LDNIL	R2
          0x80040400,  //  0006  RET	1	R2
          0x94080001,  //  0007  GETIDX	R2	R0	R1
          0x00040300,  //  0008  ADD	R1	R1	K0
          0x540E0005,  //  0009  LDINT	R3	6
          0x1C0C0403,  //  000A  EQ	R3	R2	R3
          0x780E0002,  //  000B  JMPF	R3	#000F
          0x4C0C0000,  //  000C  LDNIL	R3
          0x80040600,  //  000D  RET	1	R3
          0x70020041,  //  000E  JMP		#0051
          0x540E0004,  //  000F  LDINT	R3	5
          0x1C0C0403,  //  0010  EQ	R3	R2	R3
          0x780E0003,  //  0011  JMPF	R3	#0016
          0x940C0001,  //  0012  GETIDX	R3	R0	R1
          0x200C0701,  //  0013  NE	R3	R3	K1
          0x80040600,  //  0014  RET	1	R3
          0x7002003A,  //  0015  JMP		#0051
          0x1C0C0501,  //  0016  EQ	R3	R2	K1
          0x780E0009,  //  0017  JMPF	R3	#0022
          0x940C0001,  //  0018  GETIDX	R3	R0	R1
          0x5412007E,  //  0019  LDINT	R4	127
          0x24100604,  //  001A  GT	R4	R3	R4
          0x78120002,  //  001B  JMPF	R4	#001F
          0x541200FF,  //  001C  LDINT	R4	256
          0x04100604,  //  001D  SUB	R4	R3	R4
          0x70020000,  //  001E  JMP		#0020
          0x5C100600,  //  001F  MOVE	R4	R3
          0x80040800,  //  0020  RET	1	R4
          0x7002002E,  //  0021  JMP		#0051
          0x1C0C0500,  //  0022  EQ	R3	R2	K0
          0x780E000C,  //  0023  JMPF	R3	#0031
          0x8C0C0102,  //  0024  GETMET	R3	R0	K2
          0x5C140200,  //  0025  MOVE	R5	R1
          0x58180003,  //  0026  LDCONST	R6	K3
          0x7C0C0600,  //  0027  CALL	R3	3
          0x54127FFE,  //  0028  LDINT	R4	32767
          0x24100604,  //  0029  GT	R4	R3	R4
          0x78120002,  //  002A  JMPF	R4	#002E
          0x5412FFFF,  //  002B  LDINT	R4	65536
          0x04100604,  //  002C  SUB	R4	R3	R4
          0x70020000,  //  002D  JMP		#002F
          0x5C100600,  //  002E  MOVE	R4	R3
          0x80040800,  //  002F  RET	1	R4
          0x7002001F,  //  0030  JMP		#0051
          0x1C0C0503,  //  0031  EQ	R3	R2	K3
          0x780E0005,  //  0032  JMPF	R3	#0039
          0x8C0C0102,  //  0033  GETMET	R3	R0	K2
          0x5C140200,  //  0034  MOVE	R5	R1
          0x541A0003,  //  0035  LDINT	R6	4
          0x7C0C0600,  //  0036  CALL	R3	3
          0x80040600,  //  0037  RET	1	R3
          0x70020017,  //  0038  JMP		#0051
          0x1C0C0504,  //  0039  EQ	R3	R2	K4
          0x780E0008,  //  003A  JMPF	R3	#0044
          0x940C0001,  //  003B  GETIDX	R3	R0	R1
          0x00100300,  //  003C  ADD	R4	R1	K0
          0x00140203,  //  003D  ADD	R5	R1	R3
          0x40100805,  //  003E  CONNECT	R4	R4	R5
          0x94100004,  //  003F  GETIDX	R4	R0	R4
          0x8C100905,  //  0040  GETMET	R4	R4	K5
          0x7C100200,  //  0041  CALL	R4	1
          0x80040800,  //  0042  RET	1	R4
          0x7002000C,  //  0043  JMP		#0051
          0x540E0003,  //  0044  LDINT	R3	4
          0x1C0C0403,  //  0045  EQ	R3	R2	R3
          0x780E0009,  //  0046  JMPF	R3	#0051
          0x8C0C0102,  //  0047  GETMET	R3	R0	K2
          0x5C140200,  //  0048  MOVE	R5	R1
          0x58180003,  //  0049  LDCONST	R6	K3
          0x7C0C0600,  //  004A  CALL	R3	3
          0x00100303,  //  004B  ADD	R4	R1	K3
          0x00140203,  //  004C  ADD	R5	R1	R3
          0x00140B00,  //  004D  ADD	R5	R5	K0
          0x40100805,  //  004E  CONNECT	R4	R4	R5
          0x94100004,  //  004F  GETIDX	R4	R0	R4
          0x80040800,  //  0050  RET	1	R4
          0x4C0C0000,  //  0051  LDNIL	R3
          0x80040600,  //  0052  RET	1	R3
        })
      ),
    }),
    1,                          /* has constants */
    &be_ktab_class_ParameterizedObject,     /* shared constants */
    be_str_weak(constraint_find),
    &be_const_str_solidified,
    ( &(const binstruction[112]) {  /* code */
      0x580C0000,  //  0000  LDCONST	R3	K0
      0x84100000,  //  0001  CLOSURE	R4	P0
      0x84140001,  //  0002  CLOSURE	R5	P1
      0x6018000C,  //  0003  GETGBL	R6	G12
      0x5C1C0000,  //  0004  MOVE	R7	R0
      0x7C180200,  //  0005  CALL	R6	1
      0x14180D01,  //  0006  LT	R6	R6	K1
      0x781A0000,  //  0007  JMPF	R6	#0009
      0x80040400,  //  0008  RET	1	R2
      0x94180102,  //  0009  GETIDX	R6	R0	K2
      0x581C0001,  //  000A  LDCONST	R7	K1
      0x88200703,  //  000B  GETMBR	R8	R3	K3
      0x8C201104,  //  000C  GETMET	R8	R8	K4
      0x5C280200,  //  000D  MOVE	R10	R1
      0x7C200400,  //  000E  CALL	R8	2
      0x4C240000,  //  000F  LDNIL	R9
      0x1C241009,  //  0010  EQ	R9	R8	R9
      0x78260000,  //  0011  JMPF	R9	#0013
      0x80040400,  //  0012  RET	1	R2
      0x38220208,  //  0013  SHL	R8	K1	R8
      0x2C240C08,  //  0014  AND	R9	R6	R8
      0x74260000,  //  0015  JMPT	R9	#0017
      0x80040400,  //  0016  RET	1	R2
      0x5426001F,  //  0017  LDINT	R9	32
      0x1C241009,  //  0018  EQ	R9	R8	R9
      0x78260001,  //  0019  JMPF	R9	#001C
      0x50240200,  //  001A  LDBOOL	R9	1	0
      0x80041200,  //  001B  RET	1	R9
      0x24241101,  //  001C  GT	R9	R8	K1
      0x78260006,  //  001D  JMPF	R9	#0025
      0x2C240D01,  //  001E  AND	R9	R6	K1
      0x78260004,  //  001F  JMPF	R9	#0025
      0x5C240800,  //  0020  MOVE	R9	R4
      0x5C280000,  //  0021  MOVE	R10	R0
      0x5C2C0E00,  //  0022  MOVE	R11	R7
      0x7C240400,  //  0023  CALL	R9	2
      0x001C0E09,  //  0024  ADD	R7	R7	R9
      0x24241105,  //  0025  GT	R9	R8	K5
      0x78260006,  //  0026  JMPF	R9	#002E
      0x2C240D05,  //  0027  AND	R9	R6	K5
      0x78260004,  //  0028  JMPF	R9	#002E
      0x5C240800,  //  0029  MOVE	R9	R4
      0x5C280000,  //  002A  MOVE	R10	R0
      0x5C2C0E00,  //  002B  MOVE	R11	R7
      0x7C240400,  //  002C  CALL	R9	2
      0x001C0E09,  //  002D  ADD	R7	R7	R9
      0x54260003,  //  002E  LDINT	R9	4
      0x24241009,  //  002F  GT	R9	R8	R9
      0x78260007,  //  0030  JMPF	R9	#0039
      0x54260003,  //  0031  LDINT	R9	4
      0x2C240C09,  //  0032  AND	R9	R6	R9
      0x78260004,  //  0033  JMPF	R9	#0039
      0x5C240800,  //  0034  MOVE	R9	R4
      0x5C280000,  //  0035  MOVE	R10	R0
      0x5C2C0E00,  //  0036  MOVE	R11	R7
      0x7C240400,  //  0037  CALL	R9	2
      0x001C0E09,  //  0038  ADD	R7	R7	R9
      0x54260007,  //  0039  LDINT	R9	8
      0x24241009,  //  003A  GT	R9	R8	R9
      0x78260003,  //  003B  JMPF	R9	#0040
      0x54260007,  //  003C  LDINT	R9	8
      0x2C240C09,  //  003D  AND	R9	R6	R9
      0x78260000,  //  003E  JMPF	R9	#0040
      0x001C0F01,  //  003F  ADD	R7	R7	K1
      0x6024000C,  //  0040  GETGBL	R9	G12
      0x5C280000,  //  0041  MOVE	R10	R0
      0x7C240200,  //  0042  CALL	R9	1
      0x28240E09,  //  0043  GE	R9	R7	R9
      0x78260000,  //  0044  JMPF	R9	#0046
      0x80040400,  //  0045  RET	1	R2
      0x54260007,  //  0046  LDINT	R9	8
      0x1C241009,  //  0047  EQ	R9	R8	R9
      0x78260009,  //  0048  JMPF	R9	#0053
      0x94240007,  //  0049  GETIDX	R9	R0	R7
      0x6028000C,  //  004A  GETGBL	R10	G12
      0x882C0706,  //  004B  GETMBR	R11	R3	K6
      0x7C280200,  //  004C  CALL	R10	1
      0x1428120A,  //  004D  LT	R10	R9	R10
      0x782A0002,  //  004E  JMPF	R10	#0052
      0x88280706,  //  004F  GETMBR	R10	R3	K6
      0x94281409,  //  0050  GETIDX	R10	R10	R9
      0x80041400,  //  0051  RET	1	R10
      0x80040400,  //  0052  RET	1	R2
      0x5426000F,  //  0053  LDINT	R9	16
      0x1C241009,  //  0054  EQ	R9	R8	R9
      0x78260014,  //  0055  JMPF	R9	#006B
      0x94240007,  //  0056  GETIDX	R9	R0	R7
      0x001C0F01,  //  0057  ADD	R7	R7	K1
      0x60280012,  //  0058  GETGBL	R10	G18
      0x7C280000,  //  0059  CALL	R10	0
      0x582C0002,  //  005A  LDCONST	R11	K2
      0x14301609,  //  005B  LT	R12	R11	R9
      0x7832000C,  //  005C  JMPF	R12	#006A
      0x8C301507,  //  005D  GETMET	R12	R10	K7
      0x5C380A00,  //  005E  MOVE	R14	R5
      0x5C3C0000,  //  005F  MOVE	R15	R0
      0x5C400E00,  //  0060  MOVE	R16	R7
      0x7C380400,  //  0061  CALL	R14	2
      0x7C300400,  //  0062  CALL	R12	2
      0x5C340800,  //  0063  MOVE	R13	R4
      0x5C380000,  //  0064  MOVE	R14	R0
      0x5C3C0E00,  //  0065  MOVE	R15	R7
      0x7C340400,  //  0066  CALL	R13	2
      0x001C0E0D,  //  0067  ADD	R7	R7	R13
      0x002C1701,  //  0068  ADD	R11	R11	K1
      0x7001FFF0,  //  0069  JMP		#005B
      0x80041400,  //  006A  RET	1	R10
      0x5C240A00,  //  006B  MOVE	R9	R5
      0x5C280000,  //  006C  MOVE	R10	R0
      0x5C2C0E00,  //  006D  MOVE	R11	R7
      0x7C240400,  //  006E  CALL	R9	2
      0x80041200,  //  006F  RET	1	R9
    })
  )
);
/*******************************************************************/


/********************************************************************
** Solidified function: setmember
********************************************************************/
be_local_closure(class_ParameterizedObject_setmember,   /* name */
  be_nested_proto(
    7,                          /* nstack */
    3,                          /* argc */
    10,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    0,                          /* has sup protos */
    NULL,                       /* no sub protos */
    1,                          /* has constants */
    &be_ktab_class_ParameterizedObject,     /* shared constants */
    be_str_weak(setmember),
    &be_const_str_solidified,
    ( &(const binstruction[18]) {  /* code */
      0x8C0C0108,  //  0000  GETMET	R3	R0	K8
      0x5C140200,  //  0001  MOVE	R5	R1
      0x7C0C0400,  //  0002  CALL	R3	2
      0x780E0004,  //  0003  JMPF	R3	#0009
      0x8C0C0109,  //  0004  GETMET	R3	R0	K9
      0x5C140200,  //  0005  MOVE	R5	R1
      0x5C180400,  //  0006  MOVE	R6	R2
      0x7C0C0600,  //  0007  CALL	R3	3
      0x70020007,  //  0008  JMP		#0011
      0x600C0018,  //  0009  GETGBL	R3	G24
      0x5810000A,  //  000A  LDCONST	R4	K10
      0x60140005,  //  000B  GETGBL	R5	G5
      0x5C180000,  //  000C  MOVE	R6	R0
      0x7C140200,  //  000D  CALL	R5	1
      0x5C180200,  //  000E  MOVE	R6	R1
      0x7C0C0600,  //  000F  CALL	R3	3
      0xB0061603,  //  0010  RAISE	1	K11	R3
      0x80000000,  //  0011  RET	0
    })
  )
);
/*******************************************************************/


/********************************************************************
** Solidified function: _validate_param
********************************************************************/
be_local_closure(class_ParameterizedObject__validate_param,   /* name */
  be_nested_proto(
    15,                          /* nstack */
    3,                          /* argc */
    10,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    0,                          /* has sup protos */
    NULL,                       /* no sub protos */
    1,                          /* has constants */
    &be_ktab_class_ParameterizedObject,     /* shared constants */
    be_str_weak(_validate_param),
    &be_const_str_solidified,
    ( &(const binstruction[186]) {  /* code */
      0x8C0C010C,  //  0000  GETMET	R3	R0	K12
      0x5C140200,  //  0001  MOVE	R5	R1
      0x7C0C0400,  //  0002  CALL	R3	2
      0x4C100000,  //  0003  LDNIL	R4
      0x1C100604,  //  0004  EQ	R4	R3	R4
      0x78120007,  //  0005  JMPF	R4	#000E
      0x60100018,  //  0006  GETGBL	R4	G24
      0x5814000A,  //  0007  LDCONST	R5	K10
      0x60180005,  //  0008  GETGBL	R6	G5
      0x5C1C0000,  //  0009  MOVE	R7	R0
      0x7C180200,  //  000A  CALL	R6	1
      0x5C1C0200,  //  000B  MOVE	R7	R1
      0x7C100600,  //  000C  CALL	R4	3
      0xB0061604,  //  000D  RAISE	1	K11	R4
      0xB8121A00,  //  000E  GETNGBL	R4	K13
      0x8C10090E,  //  000F  GETMET	R4	R4	K14
      0x5C180400,  //  0010  MOVE	R6	R2
      0x7C100400,  //  0011  CALL	R4	2
      0x78120000,  //  0012  JMPF	R4	#0014
      0x80040400,  //  0013  RET	1	R2
      0x4C100000,  //  0014  LDNIL	R4
      0x1C100404,  //  0015  EQ	R4	R2	R4
      0x78120014,  //  0016  JMPF	R4	#002C
      0x8C10010F,  //  0017  GETMET	R4	R0	K15
      0x5C180600,  //  0018  MOVE	R6	R3
      0x581C0010,  //  0019  LDCONST	R7	K16
      0x7C100600,  //  001A  CALL	R4	3
      0x78120000,  //  001B  JMPF	R4	#001D
      0x80040400,  //  001C  RET	1	R2
      0x8C10010F,  //  001D  GETMET	R4	R0	K15
      0x5C180600,  //  001E  MOVE	R6	R3
      0x581C0011,  //  001F  LDCONST	R7	K17
      0x7C100600,  //  0020  CALL	R4	3
      0x78120004,  //  0021  JMPF	R4	#0027
      0x8C100112,  //  0022  GETMET	R4	R0	K18
      0x5C180600,  //  0023  MOVE	R6	R3
      0x581C0011,  //  0024  LDCONST	R7	K17
      0x7C100600,  //  0025  CALL	R4	3
      0x80040800,  //  0026  RET	1	R4
      0x60100018,  //  0027  GETGBL	R4	G24
      0x58140013,  //  0028  LDCONST	R5	K19
      0x5C180200,  //  0029  MOVE	R6	R1
      0x7C100400,  //  002A  CALL	R4	2
      0xB0062804,  //  002B  RAISE	1	K20	R4
      0x8C100112,  //  002C  GETMET	R4	R0	K18
      0x5C180600,  //  002D  MOVE	R6	R3
      0x581C0015,  //  002E  LDCONST	R7	K21
      0x58200016,  //  002F  LDCONST	R8	K22
      0x7C100800,  //  0030  CALL	R4	4
      0x1C140917,  //  0031  EQ	R5	R4	K23
      0x74160003,  //  0032  JMPT	R5	#0037
      0x1C140918,  //  0033  EQ	R5	R4	K24
      0x74160001,  //  0034  JMPT	R5	#0037
      0x1C140919,  //  0035  EQ	R5	R4	K25
      0x78160001,  //  0036  JMPF	R5	#0039
      0x58100016,  //  0037  LDCONST	R4	K22
      0x70020002,  //  0038  JMP		#003C
      0x1C14091A,  //  0039  EQ	R5	R4	K26
      0x78160000,  //  003A  JMPF	R5	#003C
      0x5810001B,  //  003B  LDCONST	R4	K27
      0x60140004,  //  003C  GETGBL	R5	G4
      0x5C180400,  //  003D  MOVE	R6	R2
      0x7C140200,  //  003E  CALL	R5	1
      0x2018091C,  //  003F  NE	R6	R4	K28
      0x781A0031,  //  0040  JMPF	R6	#0073
      0x1C180916,  //  0041  EQ	R6	R4	K22
      0x781A000A,  //  0042  JMPF	R6	#004E
      0x1C180B1D,  //  0043  EQ	R6	R5	K29
      0x781A0008,  //  0044  JMPF	R6	#004E
      0xA41A3C00,  //  0045  IMPORT	R6	K30
      0x601C0009,  //  0046  GETGBL	R7	G9
      0x8C200D1F,  //  0047  GETMET	R8	R6	K31
      0x5C280400,  //  0048  MOVE	R10	R2
      0x7C200400,  //  0049  CALL	R8	2
      0x7C1C0200,  //  004A  CALL	R7	1
      0x5C080E00,  //  004B  MOVE	R2	R7
      0x58140016,  //  004C  LDCONST	R5	K22
      0x70020024,  //  004D  JMP		#0073
      0x1C18091B,  //  004E  EQ	R6	R4	K27
      0x781A0018,  //  004F  JMPF	R6	#0069
      0x1C180B20,  //  0050  EQ	R6	R5	K32
      0x781A0006,  //  0051  JMPF	R6	#0059
      0x6018000F,  //  0052  GETGBL	R6	G15
      0x5C1C0400,  //  0053  MOVE	R7	R2
      0x60200015,  //  0054  GETGBL	R8	G21
      0x7C180400,  //  0055  CALL	R6	2
      0x781A0001,  //  0056  JMPF	R6	#0059
      0x5814001B,  //  0057  LDCONST	R5	K27
      0x7002000E,  //  0058  JMP		#0068
      0x20180B20,  //  0059  NE	R6	R5	K32
      0x741A0004,  //  005A  JMPT	R6	#0060
      0x6018000F,  //  005B  GETGBL	R6	G15
      0x5C1C0400,  //  005C  MOVE	R7	R2
      0x60200015,  //  005D  GETGBL	R8	G21
      0x7C180400,  //  005E  CALL	R6	2
      0x741A0007,  //  005F  JMPT	R6	#0068
      0x60180018,  //  0060  GETGBL	R6	G24
      0x581C0021,  //  0061  LDCONST	R7	K33
      0x5C200200,  //  0062  MOVE	R8	R1
      0x5C240800,  //  0063  MOVE	R9	R4
      0x5C280A00,  //  0064  MOVE	R10	R5
      0x5C2C0400,  //  0065  MOVE	R11	R2
      0x7C180A00,  //  0066  CALL	R6	5
      0xB0062806,  //  0067  RAISE	1	K20	R6
      0x70020009,  //  0068  JMP		#0073
      0x20180805,  //  0069  NE	R6	R4	R5
      0x781A0007,  //  006A  JMPF	R6	#0073
      0x60180018,  //  006B  GETGBL	R6	G24
      0x581C0021,  //  006C  LDCONST	R7	K33
      0x5C200200,  //  006D  MOVE	R8	R1
      0x5C240800,  //  006E  MOVE	R9	R4
      0x5C280A00,  //  006F  MOVE	R10	R5
      0x5C2C0400,  //  0070  MOVE	R11	R2
      0x7C180A00,  //  0071  CALL	R6	5
      0xB0062806,  //  0072  RAISE	1	K20	R6
      0x1C180B16,  //  0073  EQ	R6	R5	K22
      0x781A0023,  //  0074  JMPF	R6	#0099
      0x8C18010F,  //  0075  GETMET	R6	R0	K15
      0x5C200600,  //  0076  MOVE	R8	R3
      0x58240022,  //  0077  LDCONST	R9	K34
      0x7C180600,  //  0078  CALL	R6	3
      0x781A000C,  //  0079  JMPF	R6	#0087
      0x8C180112,  //  007A  GETMET	R6	R0	K18
      0x5C200600,  //  007B  MOVE	R8	R3
      0x58240022,  //  007C  LDCONST	R9	K34
      0x7C180600,  //  007D  CALL	R6	3
      0x141C0406,  //  007E  LT	R7	R2	R6
      0x781E0006,  //  007F  JMPF	R7	#0087
      0x601C0018,  //  0080  GETGBL	R7	G24
      0x58200023,  //  0081  LDCONST	R8	K35
      0x5C240200,  //  0082  MOVE	R9	R1
      0x5C280400,  //  0083  MOVE	R10	R2
      0x5C2C0C00,  //  0084  MOVE	R11	R6
      0x7C1C0800,  //  0085  CALL	R7	4
      0xB0062807,  //  0086  RAISE	1	K20	R7
      0x8C18010F,  //  0087  GETMET	R6	R0	K15
      0x5C200600,  //  0088  MOVE	R8	R3
      0x58240024,  //  0089  LDCONST	R9	K36
      0x7C180600,  //  008A  CALL	R6	3
      0x781A000C,  //  008B  JMPF	R6	#0099
      0x8C180112,  //  008C  GETMET	R6	R0	K18
      0x5C200600,  //  008D  MOVE	R8	R3
      0x58240024,  //  008E  LDCONST	R9	K36
      0x7C180600,  //  008F  CALL	R6	3
      0x241C0406,  //  0090  GT	R7	R2	R6
      0x781E0006,  //  0091  JMPF	R7	#0099
      0x601C0018,  //  0092  GETGBL	R7	G24
      0x58200025,  //  0093  LDCONST	R8	K37
      0x5C240200,  //  0094  MOVE	R9	R1
      0x5C280400,  //  0095  MOVE	R10	R2
      0x5C2C0C00,  //  0096  MOVE	R11	R6
      0x7C1C0800,  //  0097  CALL	R7	4
      0xB0062807,  //  0098  RAISE	1	K20	R7
      0x8C18010F,  //  0099  GETMET	R6	R0	K15
      0x5C200600,  //  009A  MOVE	R8	R3
      0x58240026,  //  009B  LDCONST	R9	K38
      0x7C180600,  //  009C  CALL	R6	3
      0x781A001A,  //  009D  JMPF	R6	#00B9
      0x50180000,  //  009E  LDBOOL	R6	0	0
      0x8C1C0112,  //  009F  GETMET	R7	R0	K18
      0x5C240600,  //  00A0  MOVE	R9	R3
      0x58280026,  //  00A1  LDCONST	R10	K38
      0x7C1C0600,  //  00A2  CALL	R7	3
      0x6020000C,  //  00A3  GETGBL	R8	G12
      0x5C240E00,  //  00A4  MOVE	R9	R7
      0x7C200200,  //  00A5  CALL	R8	1
      0x58240002,  //  00A6  LDCONST	R9	K2
      0x14281208,  //  00A7  LT	R10	R9	R8
      0x782A0006,  //  00A8  JMPF	R10	#00B0
      0x94280E09,  //  00A9  GETIDX	R10	R7	R9
      0x1C2C040A,  //  00AA  EQ	R11	R2	R10
      0x782E0001,  //  00AB  JMPF	R11	#00AE
      0x50180200,  //  00AC  LDBOOL	R6	1	0
      0x70020001,  //  00AD  JMP		#00B0
      0x00241301,  //  00AE  ADD	R9	R9	K1
      0x7001FFF6,  //  00AF  JMP		#00A7
      0x5C280C00,  //  00B0  MOVE	R10	R6
      0x742A0006,  //  00B1  JMPT	R10	#00B9
      0x60280018,  //  00B2  GETGBL	R10	G24
      0x582C0027,  //  00B3  LDCONST	R11	K39
      0x5C300200,  //  00B4  MOVE	R12	R1
      0x5C340400,  //  00B5  MOVE	R13	R2
      0x5C380E00,  //  00B6  MOVE	R14	R7
      0x7C280800,  //  00B7  CALL	R10	4
      0xB006280A,  //  00B8  RAISE	1	K20	R10
      0x80040400,  //  00B9  RET	1	R2
    })
  )
);
/*******************************************************************/


/********************************************************************
** Solidified function: update
********************************************************************/
be_local_closure(class_ParameterizedObject_update,   /* name */
  be_nested_proto(
    2,                          /* nstack */
    2,                          /* argc */
    10,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    0,                          /* has sup protos */
    NULL,                       /* no sub protos */
    1,                          /* has constants */
    &be_ktab_class_ParameterizedObject,     /* shared constants */
    be_str_weak(update),
    &be_const_str_solidified,
    ( &(const binstruction[ 1]) {  /* code */
      0x80000000,  //  0000  RET	0
    })
  )
);
/*******************************************************************/


/********************************************************************
** Solidified function: _resolve_parameter_value
********************************************************************/
be_local_closure(class_ParameterizedObject__resolve_parameter_value,   /* name */
  be_nested_proto(
    9,                          /* nstack */
    3,                          /* argc */
    10,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    0,                          /* has sup protos */
    NULL,                       /* no sub protos */
    1,                          /* has constants */
    &be_ktab_class_ParameterizedObject,     /* shared constants */
    be_str_weak(_resolve_parameter_value),
    &be_const_str_solidified,
    ( &(const binstruction[31]) {  /* code */
      0x880C0128,  //  0000  GETMBR	R3	R0	K40
      0x8C0C0729,  //  0001  GETMET	R3	R3	K41
      0x5C140200,  //  0002  MOVE	R5	R1
      0x7C0C0400,  //  0003  CALL	R3	2
      0x740E0011,  //  0004  JMPT	R3	#0017
      0x8C0C010C,  //  0005  GETMET	R3	R0	K12
      0x5C140200,  //  0006  MOVE	R5	R1
      0x7C0C0400,  //  0007  CALL	R3	2
      0x4C100000,  //  0008  LDNIL	R4
      0x20100604,  //  0009  NE	R4	R3	R4
      0x78120009,  //  000A  JMPF	R4	#0015
      0x8C10010F,  //  000B  GETMET	R4	R0	K15
      0x5C180600,  //  000C  MOVE	R6	R3
      0x581C0011,  //  000D  LDCONST	R7	K17
      0x7C100600,  //  000E  CALL	R4	3
      0x78120004,  //  000F  JMPF	R4	#0015
      0x8C100112,  //  0010  GETMET	R4	R0	K18
      0x5C180600,  //  0011  MOVE	R6	R3
      0x581C0011,  //  0012  LDCONST	R7	K17
      0x7C100600,  //  0013  CALL	R4	3
      0x80040800,  //  0014  RET	1	R4
      0x4C100000,  //  0015  LDNIL	R4
      0x80040800,  //  0016  RET	1	R4
      0x880C0128,  //  0017  GETMBR	R3	R0	K40
      0x940C0601,  //  0018  GETIDX	R3	R3	R1
      0x8C10012A,  //  0019  GETMET	R4	R0	K42
      0x5C180600,  //  001A  MOVE	R6	R3
      0x5C1C0200,  //  001B  MOVE	R7	R1
      0x5C200400,  //  001C  MOVE	R8	R2
      0x7C100800,  //  001D  CALL	R4	4
      0x80040800,  //  001E  RET	1	R4
    })
  )
);
/*******************************************************************/


/********************************************************************
** Solidified function: constraint_mask
********************************************************************/
be_local_closure(class_ParameterizedObject_constraint_mask,   /* name */
  be_nested_proto(
    6,                          /* nstack */
    2,                          /* argc */
    12,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    0,                          /* has sup protos */
    NULL,                       /* no sub protos */
    1,                          /* has constants */
    &be_ktab_class_ParameterizedObject,     /* shared constants */
    be_str_weak(constraint_mask),
    &be_const_str_solidified,
    ( &(const binstruction[21]) {  /* code */
      0x58080000,  //  0000  LDCONST	R2	K0
      0x4C0C0000,  //  0001  LDNIL	R3
      0x200C0003,  //  0002  NE	R3	R0	R3
      0x780E000F,  //  0003  JMPF	R3	#0014
      0x600C000C,  //  0004  GETGBL	R3	G12
      0x5C100000,  //  0005  MOVE	R4	R0
      0x7C0C0200,  //  0006  CALL	R3	1
      0x240C0702,  //  0007  GT	R3	R3	K2
      0x780E000A,  //  0008  JMPF	R3	#0014
      0x880C0503,  //  0009  GETMBR	R3	R2	K3
      0x8C0C0704,  //  000A  GETMET	R3	R3	K4
      0x5C140200,  //  000B  MOVE	R5	R1
      0x7C0C0400,  //  000C  CALL	R3	2
      0x4C100000,  //  000D  LDNIL	R4
      0x20100604,  //  000E  NE	R4	R3	R4
      0x78120003,  //  000F  JMPF	R4	#0014
      0x94100102,  //  0010  GETIDX	R4	R0	K2
      0x38160203,  //  0011  SHL	R5	K1	R3
      0x2C100805,  //  0012  AND	R4	R4	R5
      0x80040800,  //  0013  RET	1	R4
      0x80060400,  //  0014  RET	1	K2
    })
  )
);
/*******************************************************************/


/********************************************************************
** Solidified function: member
********************************************************************/
be_local_closure(class_ParameterizedObject_member,   /* name */
  be_nested_proto(
    8,                          /* nstack */
    2,                          /* argc */
    10,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    0,                          /* has sup protos */
    NULL,                       /* no sub protos */
    1,                          /* has constants */
    &be_ktab_class_ParameterizedObject,     /* shared constants */
    be_str_weak(member),
    &be_const_str_solidified,
    ( &(const binstruction[58]) {  /* code */
      0x88080128,  //  0000  GETMBR	R2	R0	K40
      0x8C080504,  //  0001  GETMET	R2	R2	K4
      0x5C100200,  //  0002  MOVE	R4	R1
      0x7C080400,  //  0003  CALL	R2	2
      0x4C0C0000,  //  0004  LDNIL	R3
      0x200C0403,  //  0005  NE	R3	R2	R3
      0x780E000D,  //  0006  JMPF	R3	#0015
      0x600C0004,  //  0007  GETGBL	R3	G4
      0x5C100400,  //  0008  MOVE	R4	R2
      0x7C0C0200,  //  0009  CALL	R3	1
      0x200C0720,  //  000A  NE	R3	R3	K32
      0x780E0000,  //  000B  JMPF	R3	#000D
      0x80040400,  //  000C  RET	1	R2
      0x8C0C012A,  //  000D  GETMET	R3	R0	K42
      0x5C140400,  //  000E  MOVE	R5	R2
      0x5C180200,  //  000F  MOVE	R6	R1
      0x881C012B,  //  0010  GETMBR	R7	R0	K43
      0x881C0F2C,  //  0011  GETMBR	R7	R7	K44
      0x7C0C0800,  //  0012  CALL	R3	4
      0x80040600,  //  0013  RET	1	R3
      0x70020023,  //  0014  JMP		#0039
      0x880C0128,  //  0015  GETMBR	R3	R0	K40
      0x8C0C0729,  //  0016  GETMET	R3	R3	K41
      0x5C140200,  //  0017  MOVE	R5	R1
      0x7C0C0400,  //  0018  CALL	R3	2
      0x780E0002,  //  0019  JMPF	R3	#001D
      0x4C0C0000,  //  001A  LDNIL	R3
      0x80040600,  //  001B  RET	1	R3
      0x7002001B,  //  001C  JMP		#0039
      0x8C0C010C,  //  001D  GETMET	R3	R0	K12
      0x5C140200,  //  001E  MOVE	R5	R1
      0x7C0C0400,  //  001F  CALL	R3	2
      0x4C100000,  //  0020  LDNIL	R4
      0x20100604,  //  0021  NE	R4	R3	R4
      0x7812000D,  //  0022  JMPF	R4	#0031
      0x8C10010F,  //  0023  GETMET	R4	R0	K15
      0x5C180600,  //  0024  MOVE	R6	R3
      0x581C0011,  //  0025  LDCONST	R7	K17
      0x7C100600,  //  0026  CALL	R4	3
      0x78120005,  //  0027  JMPF	R4	#002E
      0x8C100112,  //  0028  GETMET	R4	R0	K18
      0x5C180600,  //  0029  MOVE	R6	R3
      0x581C0011,  //  002A  LDCONST	R7	K17
      0x7C100600,  //  002B  CALL	R4	3
      0x80040800,  //  002C  RET	1	R4
      0x70020001,  //  002D  JMP		#0030
      0x4C100000,  //  002E  LDNIL	R4
      0x80040800,  //  002F  RET	1	R4
      0x70020007,  //  0030  JMP		#0039
      0x60100018,  //  0031  GETGBL	R4	G24
      0x5814000A,  //  0032  LDCONST	R5	K10
      0x60180005,  //  0033  GETGBL	R6	G5
      0x5C1C0000,  //  0034  MOVE	R7	R0
      0x7C180200,  //  0035  CALL	R6	1
      0x5C1C0200,  //  0036  MOVE	R7	R1
      0x7C100600,  //  0037  CALL	R4	3
      0xB0061604,  //  0038  RAISE	1	K11	R4
      0x80000000,  //  0039  RET	0
    })
  )
);
/*******************************************************************/


/********************************************************************
** Solidified function: start
********************************************************************/
be_local_closure(class_ParameterizedObject_start,   /* name */
  be_nested_proto(
    4,                          /* nstack */
    2,                          /* argc */
    10,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    0,                          /* has sup protos */
    NULL,                       /* no sub protos */
    1,                          /* has constants */
    &be_ktab_class_ParameterizedObject,     /* shared constants */
    be_str_weak(start),
    &be_const_str_solidified,
    ( &(const binstruction[13]) {  /* code */
      0x4C080000,  //  0000  LDNIL	R2
      0x1C080202,  //  0001  EQ	R2	R1	R2
      0x780A0001,  //  0002  JMPF	R2	#0005
      0x8808012B,  //  0003  GETMBR	R2	R0	K43
      0x8804052C,  //  0004  GETMBR	R1	R2	K44
      0x50080200,  //  0005  LDBOOL	R2	1	0
      0x90025A02,  //  0006  SETMBR	R0	K45	R2
      0x8808012E,  //  0007  GETMBR	R2	R0	K46
      0x4C0C0000,  //  0008  LDNIL	R3
      0x20080403,  //  0009  NE	R2	R2	R3
      0x780A0000,  //  000A  JMPF	R2	#000C
      0x90025C01,  //  000B  SETMBR	R0	K46	R1
      0x80040000,  //  000C  RET	1	R0
    })
  )
);
/*******************************************************************/


/********************************************************************
** Solidified function: stop
********************************************************************/
be_local_closure(class_ParameterizedObject_stop,   /* name */
  be_nested_proto(
    2,                          /* nstack */
    1,                          /* argc */
    10,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    0,                          /* has sup protos */
    NULL,                       /* no sub protos */
    1,                          /* has constants */
    &be_ktab_class_ParameterizedObject,     /* shared constants */
    be_str_weak(stop),
    &be_const_str_solidified,
    ( &(const binstruction[ 3]) {  /* code */
      0x50040000,  //  0000  LDBOOL	R1	0	0
      0x90025A01,  //  0001  SETMBR	R0	K45	R1
      0x80040000,  //  0002  RET	1	R0
    })
  )
);
/*******************************************************************/


/********************************************************************
** Solidified function: _init_parameter_values
********************************************************************/
be_local_closure(class_ParameterizedObject__init_parameter_values,   /* name */
  be_nested_proto(
    12,                          /* nstack */
    1,                          /* argc */
    10,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    0,                          /* has sup protos */
    NULL,                       /* no sub protos */
    1,                          /* has constants */
    &be_ktab_class_ParameterizedObject,     /* shared constants */
    be_str_weak(_init_parameter_values),
    &be_const_str_solidified,
    ( &(const binstruction[47]) {  /* code */
      0xA4065E00,  //  0000  IMPORT	R1	K47
      0x60080006,  //  0001  GETGBL	R2	G6
      0x5C0C0000,  //  0002  MOVE	R3	R0
      0x7C080200,  //  0003  CALL	R2	1
      0x4C0C0000,  //  0004  LDNIL	R3
      0x200C0403,  //  0005  NE	R3	R2	R3
      0x780E0026,  //  0006  JMPF	R3	#002E
      0x8C0C0329,  //  0007  GETMET	R3	R1	K41
      0x5C140400,  //  0008  MOVE	R5	R2
      0x58180030,  //  0009  LDCONST	R6	K48
      0x7C0C0600,  //  000A  CALL	R3	3
      0x780E001C,  //  000B  JMPF	R3	#0029
      0x880C0530,  //  000C  GETMBR	R3	R2	K48
      0x60100010,  //  000D  GETGBL	R4	G16
      0x8C140731,  //  000E  GETMET	R5	R3	K49
      0x7C140200,  //  000F  CALL	R5	1
      0x7C100200,  //  0010  CALL	R4	1
      0xA8020013,  //  0011  EXBLK	0	#0026
      0x5C140800,  //  0012  MOVE	R5	R4
      0x7C140000,  //  0013  CALL	R5	0
      0x88180128,  //  0014  GETMBR	R6	R0	K40
      0x8C180D29,  //  0015  GETMET	R6	R6	K41
      0x5C200A00,  //  0016  MOVE	R8	R5
      0x7C180400,  //  0017  CALL	R6	2
      0x741A000B,  //  0018  JMPT	R6	#0025
      0x94180605,  //  0019  GETIDX	R6	R3	R5
      0x8C1C010F,  //  001A  GETMET	R7	R0	K15
      0x5C240C00,  //  001B  MOVE	R9	R6
      0x58280011,  //  001C  LDCONST	R10	K17
      0x7C1C0600,  //  001D  CALL	R7	3
      0x781E0005,  //  001E  JMPF	R7	#0025
      0x881C0128,  //  001F  GETMBR	R7	R0	K40
      0x8C200112,  //  0020  GETMET	R8	R0	K18
      0x5C280C00,  //  0021  MOVE	R10	R6
      0x582C0011,  //  0022  LDCONST	R11	K17
      0x7C200600,  //  0023  CALL	R8	3
      0x981C0A08,  //  0024  SETIDX	R7	R5	R8
      0x7001FFEB,  //  0025  JMP		#0012
      0x58100032,  //  0026  LDCONST	R4	K50
      0xAC100200,  //  0027  CATCH	R4	1	0
      0xB0080000,  //  0028  RAISE	2	R0	R0
      0x600C0003,  //  0029  GETGBL	R3	G3
      0x5C100400,  //  002A  MOVE	R4	R2
      0x7C0C0200,  //  002B  CALL	R3	1
      0x5C080600,  //  002C  MOVE	R2	R3
      0x7001FFD5,  //  002D  JMP		#0004
      0x80000000,  //  002E  RET	0
    })
  )
);
/*******************************************************************/


/********************************************************************
** Solidified function: init
********************************************************************/
be_local_closure(class_ParameterizedObject_init,   /* name */
  be_nested_proto(
    4,                          /* nstack */
    2,                          /* argc */
    10,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    0,                          /* has sup protos */
    NULL,                       /* no sub protos */
    1,                          /* has constants */
    &be_ktab_class_ParameterizedObject,     /* shared constants */
    be_str_weak(init),
    &be_const_str_solidified,
    ( &(const binstruction[18]) {  /* code */
      0x4C080000,  //  0000  LDNIL	R2
      0x1C080202,  //  0001  EQ	R2	R1	R2
      0x740A0004,  //  0002  JMPT	R2	#0008
      0x60080004,  //  0003  GETGBL	R2	G4
      0x5C0C0200,  //  0004  MOVE	R3	R1
      0x7C080200,  //  0005  CALL	R2	1
      0x20080520,  //  0006  NE	R2	R2	K32
      0x780A0000,  //  0007  JMPF	R2	#0009
      0xB0062933,  //  0008  RAISE	1	K20	K51
      0x90025601,  //  0009  SETMBR	R0	K43	R1
      0x60080013,  //  000A  GETGBL	R2	G19
      0x7C080000,  //  000B  CALL	R2	0
      0x90025002,  //  000C  SETMBR	R0	K40	R2
      0x50080000,  //  000D  LDBOOL	R2	0	0
      0x90025A02,  //  000E  SETMBR	R0	K45	R2
      0x8C080134,  //  000F  GETMET	R2	R0	K52
      0x7C080200,  //  0010  CALL	R2	1
      0x80000000,  //  0011  RET	0
    })
  )
);
/*******************************************************************/


/********************************************************************
** Solidified function: _fix_time_ms
********************************************************************/
be_local_closure(class_ParameterizedObject__fix_time_ms,   /* name */
  be_nested_proto(
    4,                          /* nstack */
    2,                          /* argc */
    10,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    0,                          /* has sup protos */
    NULL,                       /* no sub protos */
    1,                          /* has constants */
    &be_ktab_class_ParameterizedObject,     /* shared constants */
    be_str_weak(_fix_time_ms),
    &be_const_str_solidified,
    ( &(const binstruction[11]) {  /* code */
      0x4C080000,  //  0000  LDNIL	R2
      0x1C080202,  //  0001  EQ	R2	R1	R2
      0x780A0001,  //  0002  JMPF	R2	#0005
      0x8808012B,  //  0003  GETMBR	R2	R0	K43
      0x8804052C,  //  0004  GETMBR	R1	R2	K44
      0x8808012E,  //  0005  GETMBR	R2	R0	K46
      0x4C0C0000,  //  0006  LDNIL	R3
      0x1C080403,  //  0007  EQ	R2	R2	R3
      0x780A0000,  //  0008  JMPF	R2	#000A
      0x90025C01,  //  0009  SETMBR	R0	K46	R1
      0x80040200,  //  000A  RET	1	R1
    })
  )
);
/*******************************************************************/


/********************************************************************
** Solidified function: has_param
********************************************************************/
be_local_closure(class_ParameterizedObject_has_param,   /* name */
  be_nested_proto(
    5,                          /* nstack */
    2,                          /* argc */
    10,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    0,                          /* has sup protos */
    NULL,                       /* no sub protos */
    1,                          /* has constants */
    &be_ktab_class_ParameterizedObject,     /* shared constants */
    be_str_weak(has_param),
    &be_const_str_solidified,
    ( &(const binstruction[ 6]) {  /* code */
      0x8C08010C,  //  0000  GETMET	R2	R0	K12
      0x5C100200,  //  0001  MOVE	R4	R1
      0x7C080400,  //  0002  CALL	R2	2
      0x4C0C0000,  //  0003  LDNIL	R3
      0x20080403,  //  0004  NE	R2	R2	R3
      0x80040400,  //  0005  RET	1	R2
    })
  )
);
/*******************************************************************/


/********************************************************************
** Solidified function: ==
********************************************************************/
be_local_closure(class_ParameterizedObject__X3D_X3D,   /* name */
  be_nested_proto(
    7,                          /* nstack */
    2,                          /* argc */
    10,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    0,                          /* has sup protos */
    NULL,                       /* no sub protos */
    1,                          /* has constants */
    &be_ktab_class_ParameterizedObject,     /* shared constants */
    be_str_weak(_X3D_X3D),
    &be_const_str_solidified,
    ( &(const binstruction[ 9]) {  /* code */
      0xA40A5E00,  //  0000  IMPORT	R2	K47
      0x8C0C0535,  //  0001  GETMET	R3	R2	K53
      0x5C140000,  //  0002  MOVE	R5	R0
      0x7C0C0400,  //  0003  CALL	R3	2
      0x8C100535,  //  0004  GETMET	R4	R2	K53
      0x5C180200,  //  0005  MOVE	R6	R1
      0x7C100400,  //  0006  CALL	R4	2
      0x1C0C0604,  //  0007  EQ	R3	R3	R4
      0x80040600,  //  0008  RET	1	R3
    })
  )
);
/*******************************************************************/


/********************************************************************
** Solidified function: set_param
********************************************************************/
be_local_closure(class_ParameterizedObject_set_param,   /* name */
  be_nested_proto(
    7,                          /* nstack */
    3,                          /* argc */
    10,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    0,                          /* has sup protos */
    NULL,                       /* no sub protos */
    1,                          /* has constants */
    &be_ktab_class_ParameterizedObject,     /* shared constants */
    be_str_weak(set_param),
    &be_const_str_solidified,
    ( &(const binstruction[24]) {  /* code */
      0x8C0C0108,  //  0000  GETMET	R3	R0	K8
      0x5C140200,  //  0001  MOVE	R5	R1
      0x7C0C0400,  //  0002  CALL	R3	2
      0x740E0001,  //  0003  JMPT	R3	#0006
      0x500C0000,  //  0004  LDBOOL	R3	0	0
      0x80040600,  //  0005  RET	1	R3
      0xA8020008,  //  0006  EXBLK	0	#0010
      0x8C0C0109,  //  0007  GETMET	R3	R0	K9
      0x5C140200,  //  0008  MOVE	R5	R1
      0x5C180400,  //  0009  MOVE	R6	R2
      0x7C0C0600,  //  000A  CALL	R3	3
      0x500C0200,  //  000B  LDBOOL	R3	1	0
      0xA8040001,  //  000C  EXBLK	1	1
      0x80040600,  //  000D  RET	1	R3
      0xA8040001,  //  000E  EXBLK	1	1
      0x70020006,  //  000F  JMP		#0017
      0x580C0014,  //  0010  LDCONST	R3	K20
      0xAC0C0201,  //  0011  CATCH	R3	1	1
      0x70020002,  //  0012  JMP		#0016
      0x50100000,  //  0013  LDBOOL	R4	0	0
      0x80040800,  //  0014  RET	1	R4
      0x70020000,  //  0015  JMP		#0017
      0xB0080000,  //  0016  RAISE	2	R0	R0
      0x80000000,  //  0017  RET	0
    })
  )
);
/*******************************************************************/


/********************************************************************
** Solidified function: on_param_changed
********************************************************************/
be_local_closure(class_ParameterizedObject_on_param_changed,   /* name */
  be_nested_proto(
    3,                          /* nstack */
    3,                          /* argc */
    10,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    0,                          /* has sup protos */
    NULL,                       /* no sub protos */
    1,                          /* has constants */
    &be_ktab_class_ParameterizedObject,     /* shared constants */
    be_str_weak(on_param_changed),
    &be_const_str_solidified,
    ( &(const binstruction[ 1]) {  /* code */
      0x80000000,  //  0000  RET	0
    })
  )
);
/*******************************************************************/


/********************************************************************
** Solidified function: !=
********************************************************************/
be_local_closure(class_ParameterizedObject__X21_X3D,   /* name */
  be_nested_proto(
    3,                          /* nstack */
    2,                          /* argc */
    10,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    0,                          /* has sup protos */
    NULL,                       /* no sub protos */
    1,                          /* has constants */
    &be_ktab_class_ParameterizedObject,     /* shared constants */
    be_str_weak(_X21_X3D),
    &be_const_str_solidified,
    ( &(const binstruction[ 5]) {  /* code */
      0x1C080001,  //  0000  EQ	R2	R0	R1
      0x780A0000,  //  0001  JMPF	R2	#0003
      0x50080001,  //  0002  LDBOOL	R2	0	1
      0x50080200,  //  0003  LDBOOL	R2	1	0
      0x80040400,  //  0004  RET	1	R2
    })
  )
);
/*******************************************************************/


/********************************************************************
** Solidified function: _set_parameter_value
********************************************************************/
be_local_closure(class_ParameterizedObject__set_parameter_value,   /* name */
  be_nested_proto(
    7,                          /* nstack */
    3,                          /* argc */
    10,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    0,                          /* has sup protos */
    NULL,                       /* no sub protos */
    1,                          /* has constants */
    &be_ktab_class_ParameterizedObject,     /* shared constants */
    be_str_weak(_set_parameter_value),
    &be_const_str_solidified,
    ( &(const binstruction[17]) {  /* code */
      0xB80E1A00,  //  0000  GETNGBL	R3	K13
      0x8C0C070E,  //  0001  GETMET	R3	R3	K14
      0x5C140400,  //  0002  MOVE	R5	R2
      0x7C0C0400,  //  0003  CALL	R3	2
      0x740E0004,  //  0004  JMPT	R3	#000A
      0x8C0C0136,  //  0005  GETMET	R3	R0	K54
      0x5C140200,  //  0006  MOVE	R5	R1
      0x5C180400,  //  0007  MOVE	R6	R2
      0x7C0C0600,  //  0008  CALL	R3	3
      0x5C080600,  //  0009  MOVE	R2	R3
      0x880C0128,  //  000A  GETMBR	R3	R0	K40
      0x980C0202,  //  000B  SETIDX	R3	R1	R2
      0x8C0C0137,  //  000C  GETMET	R3	R0	K55
      0x5C140200,  //  000D  MOVE	R5	R1
      0x5C180400,  //  000E  MOVE	R6	R2
      0x7C0C0600,  //  000F  CALL	R3	3
      0x80000000,  //  0010  RET	0
    })
  )
);
/*******************************************************************/


/********************************************************************
** Solidified function: tobool
********************************************************************/
be_local_closure(class_ParameterizedObject_tobool,   /* name */
  be_nested_proto(
    2,                          /* nstack */
    1,                          /* argc */
    10,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    0,                          /* has sup protos */
    NULL,                       /* no sub protos */
    1,                          /* has constants */
    &be_ktab_class_ParameterizedObject,     /* shared constants */
    be_str_weak(tobool),
    &be_const_str_solidified,
    ( &(const binstruction[ 2]) {  /* code */
      0x50040200,  //  0000  LDBOOL	R1	1	0
      0x80040200,  //  0001  RET	1	R1
    })
  )
);
/*******************************************************************/


/********************************************************************
** Solidified function: tostring
********************************************************************/
be_local_closure(class_ParameterizedObject_tostring,   /* name */
  be_nested_proto(
    5,                          /* nstack */
    1,                          /* argc */
    10,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    0,                          /* has sup protos */
    NULL,                       /* no sub protos */
    1,                          /* has constants */
    &be_ktab_class_ParameterizedObject,     /* shared constants */
    be_str_weak(tostring),
    &be_const_str_solidified,
    ( &(const binstruction[ 8]) {  /* code */
      0x60040018,  //  0000  GETGBL	R1	G24
      0x58080038,  //  0001  LDCONST	R2	K56
      0x600C0005,  //  0002  GETGBL	R3	G5
      0x5C100000,  //  0003  MOVE	R4	R0
      0x7C0C0200,  //  0004  CALL	R3	1
      0x8810012D,  //  0005  GETMBR	R4	R0	K45
      0x7C040600,  //  0006  CALL	R1	3
      0x80040200,  //  0007  RET	1	R1
    })
  )
);
/*******************************************************************/


/********************************************************************
** Solidified function: resolve_value
********************************************************************/
be_local_closure(class_ParameterizedObject_resolve_value,   /* name */
  be_nested_proto(
    10,                          /* nstack */
    4,                          /* argc */
    10,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    0,                          /* has sup protos */
    NULL,                       /* no sub protos */
    1,                          /* has constants */
    &be_ktab_class_ParameterizedObject,     /* shared constants */
    be_str_weak(resolve_value),
    &be_const_str_solidified,
    ( &(const binstruction[34]) {  /* code */
      0xB8121A00,  //  0000  GETNGBL	R4	K13
      0x8C10090E,  //  0001  GETMET	R4	R4	K14
      0x5C180200,  //  0002  MOVE	R6	R1
      0x7C100400,  //  0003  CALL	R4	2
      0x7812001A,  //  0004  JMPF	R4	#0020
      0x8C100339,  //  0005  GETMET	R4	R1	K57
      0x5C180400,  //  0006  MOVE	R6	R2
      0x5C1C0600,  //  0007  MOVE	R7	R3
      0x7C100600,  //  0008  CALL	R4	3
      0x4C140000,  //  0009  LDNIL	R5
      0x1C140805,  //  000A  EQ	R5	R4	R5
      0x78160011,  //  000B  JMPF	R5	#001E
      0x8C14010C,  //  000C  GETMET	R5	R0	K12
      0x5C1C0400,  //  000D  MOVE	R7	R2
      0x7C140400,  //  000E  CALL	R5	2
      0x8C18010F,  //  000F  GETMET	R6	R0	K15
      0x5C200A00,  //  0010  MOVE	R8	R5
      0x58240010,  //  0011  LDCONST	R9	K16
      0x7C180600,  //  0012  CALL	R6	3
      0x741A0009,  //  0013  JMPT	R6	#001E
      0x8C18010F,  //  0014  GETMET	R6	R0	K15
      0x5C200A00,  //  0015  MOVE	R8	R5
      0x58240011,  //  0016  LDCONST	R9	K17
      0x7C180600,  //  0017  CALL	R6	3
      0x781A0004,  //  0018  JMPF	R6	#001E
      0x8C180112,  //  0019  GETMET	R6	R0	K18
      0x5C200A00,  //  001A  MOVE	R8	R5
      0x58240011,  //  001B  LDCONST	R9	K17
      0x7C180600,  //  001C  CALL	R6	3
      0x5C100C00,  //  001D  MOVE	R4	R6
      0x80040800,  //  001E  RET	1	R4
      0x70020000,  //  001F  JMP		#0021
      0x80040200,  //  0020  RET	1	R1
      0x80000000,  //  0021  RET	0
    })
  )
);
/*******************************************************************/


/********************************************************************
** Solidified function: get_param_value
********************************************************************/
be_local_closure(class_ParameterizedObject_get_param_value,   /* name */
  be_nested_proto(
    5,                          /* nstack */
    2,                          /* argc */
    10,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    0,                          /* has sup protos */
    NULL,                       /* no sub protos */
    1,                          /* has constants */
    &be_ktab_class_ParameterizedObject,     /* shared constants */
    be_str_weak(get_param_value),
    &be_const_str_solidified,
    ( &(const binstruction[ 4]) {  /* code */
      0x8C08013A,  //  0000  GETMET	R2	R0	K58
      0x5C100200,  //  0001  MOVE	R4	R1
      0x7C080400,  //  0002  CALL	R2	2
      0x80040400,  //  0003  RET	1	R2
    })
  )
);
/*******************************************************************/


/********************************************************************
** Solidified function: _get_param_def
********************************************************************/
be_local_closure(class_ParameterizedObject__get_param_def,   /* name */
  be_nested_proto(
    8,                          /* nstack */
    2,                          /* argc */
    10,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    0,                          /* has sup protos */
    NULL,                       /* no sub protos */
    1,                          /* has constants */
    &be_ktab_class_ParameterizedObject,     /* shared constants */
    be_str_weak(_get_param_def),
    &be_const_str_solidified,
    ( &(const binstruction[26]) {  /* code */
      0xA40A5E00,  //  0000  IMPORT	R2	K47
      0x600C0006,  //  0001  GETGBL	R3	G6
      0x5C100000,  //  0002  MOVE	R4	R0
      0x7C0C0200,  //  0003  CALL	R3	1
      0x4C100000,  //  0004  LDNIL	R4
      0x20100604,  //  0005  NE	R4	R3	R4
      0x78120010,  //  0006  JMPF	R4	#0018
      0x8C100529,  //  0007  GETMET	R4	R2	K41
      0x5C180600,  //  0008  MOVE	R6	R3
      0x581C0030,  //  0009  LDCONST	R7	K48
      0x7C100600,  //  000A  CALL	R4	3
      0x78120006,  //  000B  JMPF	R4	#0013
      0x88100730,  //  000C  GETMBR	R4	R3	K48
      0x8C140929,  //  000D  GETMET	R5	R4	K41
      0x5C1C0200,  //  000E  MOVE	R7	R1
      0x7C140400,  //  000F  CALL	R5	2
      0x78160001,  //  0010  JMPF	R5	#0013
      0x94140801,  //  0011  GETIDX	R5	R4	R1
      0x80040A00,  //  0012  RET	1	R5
      0x60100003,  //  0013  GETGBL	R4	G3
      0x5C140600,  //  0014  MOVE	R5	R3
      0x7C100200,  //  0015  CALL	R4	1
      0x5C0C0800,  //  0016  MOVE	R3	R4
      0x7001FFEB,  //  0017  JMP		#0004
      0x4C100000,  //  0018  LDNIL	R4
      0x80040800,  //  0019  RET	1	R4
    })
  )
);
/*******************************************************************/


/********************************************************************
** Solidified function: get_param
********************************************************************/
be_local_closure(class_ParameterizedObject_get_param,   /* name */
  be_nested_proto(
    9,                          /* nstack */
    3,                          /* argc */
    10,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    0,                          /* has sup protos */
    NULL,                       /* no sub protos */
    1,                          /* has constants */
    &be_ktab_class_ParameterizedObject,     /* shared constants */
    be_str_weak(get_param),
    &be_const_str_solidified,
    ( &(const binstruction[26]) {  /* code */
      0x880C0128,  //  0000  GETMBR	R3	R0	K40
      0x8C0C0729,  //  0001  GETMET	R3	R3	K41
      0x5C140200,  //  0002  MOVE	R5	R1
      0x7C0C0400,  //  0003  CALL	R3	2
      0x780E0002,  //  0004  JMPF	R3	#0008
      0x880C0128,  //  0005  GETMBR	R3	R0	K40
      0x940C0601,  //  0006  GETIDX	R3	R3	R1
      0x80040600,  //  0007  RET	1	R3
      0x8C0C010C,  //  0008  GETMET	R3	R0	K12
      0x5C140200,  //  0009  MOVE	R5	R1
      0x7C0C0400,  //  000A  CALL	R3	2
      0x4C100000,  //  000B  LDNIL	R4
      0x20100604,  //  000C  NE	R4	R3	R4
      0x7812000A,  //  000D  JMPF	R4	#0019
      0x8C10010F,  //  000E  GETMET	R4	R0	K15
      0x5C180600,  //  000F  MOVE	R6	R3
      0x581C0011,  //  0010  LDCONST	R7	K17
      0x7C100600,  //  0011  CALL	R4	3
      0x78120005,  //  0012  JMPF	R4	#0019
      0x8C100112,  //  0013  GETMET	R4	R0	K18
      0x5C180600,  //  0014  MOVE	R6	R3
      0x581C0011,  //  0015  LDCONST	R7	K17
      0x5C200400,  //  0016  MOVE	R8	R2
      0x7C100800,  //  0017  CALL	R4	4
      0x80040800,  //  0018  RET	1	R4
      0x80040400,  //  0019  RET	1	R2
    })
  )
);
/*******************************************************************/


/********************************************************************
** Solidified class: ParameterizedObject
********************************************************************/
be_local_class(ParameterizedObject,
    4,
    NULL,
    be_nested_map(30,
    ( (struct bmapnode*) &(const bmapnode[]) {
        { be_const_key_weak(constraint_find, 10), be_const_static_closure(class_ParameterizedObject_constraint_find_closure) },
        { be_const_key_weak(setmember, 20), be_const_closure(class_ParameterizedObject_setmember_closure) },
        { be_const_key_weak(get_param, -1), be_const_closure(class_ParameterizedObject_get_param_closure) },
        { be_const_key_weak(values, -1), be_const_var(0) },
        { be_const_key_weak(update, -1), be_const_closure(class_ParameterizedObject_update_closure) },
        { be_const_key_weak(_TYPES, 18), be_const_simple_instance(be_nested_simple_instance(&be_class_list, {
        be_const_list( *     be_nested_list(7,
    ( (struct bvalue*) &(const bvalue[]) {
        be_nested_str_weak(int),
        be_nested_str_weak(string),
        be_nested_str_weak(bytes),
        be_nested_str_weak(bool),
        be_nested_str_weak(any),
        be_nested_str_weak(instance),
        be_nested_str_weak(function),
    }))    ) } )) },
        { be_const_key_weak(_resolve_parameter_value, -1), be_const_closure(class_ParameterizedObject__resolve_parameter_value_closure) },
        { be_const_key_weak(constraint_mask, 21), be_const_static_closure(class_ParameterizedObject_constraint_mask_closure) },
        { be_const_key_weak(_get_param_def, -1), be_const_closure(class_ParameterizedObject__get_param_def_closure) },
        { be_const_key_weak(get_param_value, -1), be_const_closure(class_ParameterizedObject_get_param_value_closure) },
        { be_const_key_weak(_MASK, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_list, {
        be_const_list( *     be_nested_list(6,
    ( (struct bvalue*) &(const bvalue[]) {
        be_nested_str_weak(min),
        be_nested_str_weak(max),
        be_nested_str_weak(default),
        be_nested_str_weak(type),
        be_nested_str_weak(enum),
        be_nested_str_weak(nillable),
    }))    ) } )) },
        { be_const_key_weak(start, -1), be_const_closure(class_ParameterizedObject_start_closure) },
        { be_const_key_weak(is_running, -1), be_const_var(3) },
        { be_const_key_weak(_init_parameter_values, -1), be_const_closure(class_ParameterizedObject__init_parameter_values_closure) },
        { be_const_key_weak(has_param, 13), be_const_closure(class_ParameterizedObject_has_param_closure) },
        { be_const_key_weak(init, -1), be_const_closure(class_ParameterizedObject_init_closure) },
        { be_const_key_weak(_fix_time_ms, -1), be_const_closure(class_ParameterizedObject__fix_time_ms_closure) },
        { be_const_key_weak(stop, 14), be_const_closure(class_ParameterizedObject_stop_closure) },
        { be_const_key_weak(_X3D_X3D, -1), be_const_closure(class_ParameterizedObject__X3D_X3D_closure) },
        { be_const_key_weak(set_param, -1), be_const_closure(class_ParameterizedObject_set_param_closure) },
        { be_const_key_weak(_X21_X3D, 26), be_const_closure(class_ParameterizedObject__X21_X3D_closure) },
        { be_const_key_weak(on_param_changed, -1), be_const_closure(class_ParameterizedObject_on_param_changed_closure) },
        { be_const_key_weak(_set_parameter_value, -1), be_const_closure(class_ParameterizedObject__set_parameter_value_closure) },
        { be_const_key_weak(engine, -1), be_const_var(1) },
        { be_const_key_weak(tobool, -1), be_const_closure(class_ParameterizedObject_tobool_closure) },
        { be_const_key_weak(tostring, -1), be_const_closure(class_ParameterizedObject_tostring_closure) },
        { be_const_key_weak(member, 12), be_const_closure(class_ParameterizedObject_member_closure) },
        { be_const_key_weak(start_time, 9), be_const_var(2) },
        { be_const_key_weak(_validate_param, 8), be_const_closure(class_ParameterizedObject__validate_param_closure) },
        { be_const_key_weak(resolve_value, 2), be_const_closure(class_ParameterizedObject_resolve_value_closure) },
    })),
    be_str_weak(ParameterizedObject)
);
// compact class 'IterationNumberProvider' ktab size: 4, total: 6 (saved 16 bytes)
static const bvalue be_ktab_class_IterationNumberProvider[4] = {
  /* K0   */  be_nested_str_weak(engine),
  /* K1   */  be_nested_str_weak(get_current_iteration_number),
  /* K2   */  be_nested_str_weak(IterationNumberProvider_X28current_X3A_X20_X25s_X29),
  /* K3   */  be_nested_str_weak(IterationNumberProvider_X28not_in_sequence_X29),
};


extern const bclass be_class_IterationNumberProvider;

/********************************************************************
** Solidified function: produce_value
********************************************************************/
be_local_closure(class_IterationNumberProvider_produce_value,   /* name */
  be_nested_proto(
    5,                          /* nstack */
    3,                          /* argc */
    10,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    0,                          /* has sup protos */
    NULL,                       /* no sub protos */
    1,                          /* has constants */
    &be_ktab_class_IterationNumberProvider,     /* shared constants */
    be_str_weak(produce_value),
    &be_const_str_solidified,
    ( &(const binstruction[ 4]) {  /* code */
      0x880C0100,  //  0000  GETMBR	R3	R0	K0
      0x8C0C0701,  //  0001  GETMET	R3	R3	K1
      0x7C0C0200,  //  0002  CALL	R3	1
      0x80040600,  //  0003  RET	1	R3
    })
  )
);
/*******************************************************************/


/********************************************************************
** Solidified function: tostring
********************************************************************/
be_local_closure(class_IterationNumberProvider_tostring,   /* name */
  be_nested_proto(
    5,                          /* nstack */
    1,                          /* argc */
    10,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    0,                          /* has sup protos */
    NULL,                       /* no sub protos */
    1,                          /* has constants */
    &be_ktab_class_IterationNumberProvider,     /* shared constants */
    be_str_weak(tostring),
    &be_const_str_solidified,
    ( &(const binstruction[14]) {  /* code */
      0x88040100,  //  0000  GETMBR	R1	R0	K0
      0x8C040301,  //  0001  GETMET	R1	R1	K1
      0x7C040200,  //  0002  CALL	R1	1
      0x4C080000,  //  0003  LDNIL	R2
      0x20080202,  //  0004  NE	R2	R1	R2
      0x780A0005,  //  0005  JMPF	R2	#000C
      0x60080018,  //  0006  GETGBL	R2	G24
      0x580C0002,  //  0007  LDCONST	R3	K2
      0x5C100200,  //  0008  MOVE	R4	R1
      0x7C080400,  //  0009  CALL	R2	2
      0x80040400,  //  000A  RET	1	R2
      0x70020000,  //  000B  JMP		#000D
      0x80060600,  //  000C  RET	1	K3
      0x80000000,  //  000D  RET	0
    })
  )
);
/*******************************************************************/


/********************************************************************
** Solidified class: IterationNumberProvider
********************************************************************/
extern const bclass be_class_ValueProvider;
be_local_class(IterationNumberProvider,
    0,
    &be_class_ValueProvider,
    be_nested_map(2,
    ( (struct bmapnode*) &(const bmapnode[]) {
        { be_const_key_weak(tostring, -1), be_const_closure(class_IterationNumberProvider_tostring_closure) },
        { be_const_key_weak(produce_value, 0), be_const_closure(class_IterationNumberProvider_produce_value_closure) },
    })),
    be_str_weak(IterationNumberProvider)
);

/********************************************************************
** Solidified function: twinkle_classic
********************************************************************/
be_local_closure(twinkle_classic,   /* name */
  be_nested_proto(
    4,                          /* nstack */
    1,                          /* argc */
    0,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    0,                          /* has sup protos */
    NULL,                       /* no sub protos */
    1,                          /* has constants */
    ( &(const bvalue[ 8]) {     /* constants */
    /* K0   */  be_nested_str_weak(animation),
    /* K1   */  be_nested_str_weak(twinkle_animation),
    /* K2   */  be_nested_str_weak(color),
    /* K3   */  be_nested_str_weak(density),
    /* K4   */  be_nested_str_weak(twinkle_speed),
    /* K5   */  be_nested_str_weak(fade_speed),
    /* K6   */  be_nested_str_weak(min_brightness),
    /* K7   */  be_nested_str_weak(max_brightness),
    }),
    be_str_weak(twinkle_classic),
    &be_const_str_solidified,
    ( &(const binstruction[17]) {  /* code */
      0xB8060000,  //  0000  GETNGBL	R1	K0
      0x8C040301,  //  0001  GETMET	R1	R1	K1
      0x5C0C0000,  //  0002  MOVE	R3	R0
      0x7C040400,  //  0003  CALL	R1	2
      0x5409FFFE,  //  0004  LDINT	R2	-1
      0x90060402,  //  0005  SETMBR	R1	K2	R2
      0x540A0095,  //  0006  LDINT	R2	150
      0x90060602,  //  0007  SETMBR	R1	K3	R2
      0x540A0005,  //  0008  LDINT	R2	6
      0x90060802,  //  0009  SETMBR	R1	K4	R2
      0x540A00B3,  //  000A  LDINT	R2	180
      0x90060A02,  //  000B  SETMBR	R1	K5	R2
      0x540A001F,  //  000C  LDINT	R2	32
      0x90060C02,  //  000D  SETMBR	R1	K6	R2
      0x540A00FE,  //  000E  LDINT	R2	255
      0x90060E02,  //  000F  SETMBR	R1	K7	R2
      0x80040200,  //  0010  RET	1	R1
    })
  )
);
/*******************************************************************/

// compact class 'GradientAnimation' ktab size: 44, total: 80 (saved 288 bytes)
static const bvalue be_ktab_class_GradientAnimation[44] = {
  /* K0   */  be_nested_str_weak(update),
  /* K1   */  be_nested_str_weak(movement_speed),
  /* K2   */  be_const_int(0),
  /* K3   */  be_nested_str_weak(start_time),
  /* K4   */  be_nested_str_weak(tasmota),
  /* K5   */  be_nested_str_weak(scale_uint),
  /* K6   */  be_nested_str_weak(phase_offset),
  /* K7   */  be_nested_str_weak(_calculate_gradient),
  /* K8   */  be_const_int(1),
  /* K9   */  be_nested_str_weak(direction),
  /* K10  */  be_nested_str_weak(spread),
  /* K11  */  be_nested_str_weak(gradient_type),
  /* K12  */  be_nested_str_weak(color),
  /* K13  */  be_nested_str_weak(priority),
  /* K14  */  be_nested_str_weak(linear),
  /* K15  */  be_nested_str_weak(radial),
  /* K16  */  be_nested_str_weak(animation),
  /* K17  */  be_nested_str_weak(is_value_provider),
  /* K18  */  be_nested_str_weak(rainbow),
  /* K19  */  be_nested_str_weak(0x_X2508x),
  /* K20  */  be_nested_str_weak(GradientAnimation_X28_X25s_X2C_X20color_X3D_X25s_X2C_X20movement_X3D_X25s_X2C_X20priority_X3D_X25s_X2C_X20running_X3D_X25s_X29),
  /* K21  */  be_nested_str_weak(is_running),
  /* K22  */  be_nested_str_weak(width),
  /* K23  */  be_nested_str_weak(current_colors),
  /* K24  */  be_nested_str_weak(set_pixel_color),
  /* K25  */  be_nested_str_weak(on_param_changed),
  /* K26  */  be_nested_str_weak(engine),
  /* K27  */  be_nested_str_weak(strip_length),
  /* K28  */  be_nested_str_weak(resize),
  /* K29  */  be_const_int(-16777216),
  /* K30  */  be_nested_str_weak(_calculate_linear_position),
  /* K31  */  be_nested_str_weak(_calculate_radial_position),
  /* K32  */  be_nested_str_weak(light_state),
  /* K33  */  be_const_int(3),
  /* K34  */  be_nested_str_weak(HsToRgb),
  /* K35  */  be_nested_str_weak(r),
  /* K36  */  be_nested_str_weak(g),
  /* K37  */  be_nested_str_weak(b),
  /* K38  */  be_nested_str_weak(is_color_provider),
  /* K39  */  be_nested_str_weak(get_color_for_value),
  /* K40  */  be_nested_str_weak(resolve_value),
  /* K41  */  be_nested_str_weak(int),
  /* K42  */  be_nested_str_weak(init),
  /* K43  */  be_nested_str_weak(center_pos),
};


extern const bclass be_class_GradientAnimation;

/********************************************************************
** Solidified function: update
********************************************************************/
be_local_closure(class_GradientAnimation_update,   /* name */
  be_nested_proto(
    11,                          /* nstack */
    2,                          /* argc */
    10,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    0,                          /* has sup protos */
    NULL,                       /* no sub protos */
    1,                          /* has constants */
    &be_ktab_class_GradientAnimation,     /* shared constants */
    be_str_weak(update),
    &be_const_str_solidified,
    ( &(const binstruction[31]) {  /* code */
      0x60080003,  //  0000  GETGBL	R2	G3
      0x5C0C0000,  //  0001  MOVE	R3	R0
      0x7C080200,  //  0002  CALL	R2	1
      0x8C080500,  //  0003  GETMET	R2	R2	K0
      0x5C100200,  //  0004  MOVE	R4	R1
      0x7C080400,  //  0005  CALL	R2	2
      0x88080101,  //  0006  GETMBR	R2	R0	K1
      0x240C0502,  //  0007  GT	R3	R2	K2
      0x780E0011,  //  0008  JMPF	R3	#001B
      0x880C0103,  //  0009  GETMBR	R3	R0	K3
      0x040C0203,  //  000A  SUB	R3	R1	R3
      0xB8120800,  //  000B  GETNGBL	R4	K4
      0x8C100905,  //  000C  GETMET	R4	R4	K5
      0x5C180400,  //  000D  MOVE	R6	R2
      0x581C0002,  //  000E  LDCONST	R7	K2
      0x542200FE,  //  000F  LDINT	R8	255
      0x58240002,  //  0010  LDCONST	R9	K2
      0x542A0009,  //  0011  LDINT	R10	10
      0x7C100C00,  //  0012  CALL	R4	6
      0x24140902,  //  0013  GT	R5	R4	K2
      0x78160005,  //  0014  JMPF	R5	#001B
      0x08140604,  //  0015  MUL	R5	R3	R4
      0x541A03E7,  //  0016  LDINT	R6	1000
      0x0C140A06,  //  0017  DIV	R5	R5	R6
      0x541A00FF,  //  0018  LDINT	R6	256
      0x10140A06,  //  0019  MOD	R5	R5	R6
      0x90020C05,  //  001A  SETMBR	R0	K6	R5
      0x8C0C0107,  //  001B  GETMET	R3	R0	K7
      0x5C140200,  //  001C  MOVE	R5	R1
      0x7C0C0400,  //  001D  CALL	R3	2
      0x80000000,  //  001E  RET	0
    })
  )
);
/*******************************************************************/


/********************************************************************
** Solidified function: _calculate_linear_position
********************************************************************/
be_local_closure(class_GradientAnimation__calculate_linear_position,   /* name */
  be_nested_proto(
    13,                          /* nstack */
    3,                          /* argc */
    10,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    0,                          /* has sup protos */
    NULL,                       /* no sub protos */
    1,                          /* has constants */
    &be_ktab_class_GradientAnimation,     /* shared constants */
    be_str_weak(_calculate_linear_position),
    &be_const_str_solidified,
    ( &(const binstruction[50]) {  /* code */
      0xB80E0800,  //  0000  GETNGBL	R3	K4
      0x8C0C0705,  //  0001  GETMET	R3	R3	K5
      0x5C140200,  //  0002  MOVE	R5	R1
      0x58180002,  //  0003  LDCONST	R6	K2
      0x041C0508,  //  0004  SUB	R7	R2	K8
      0x58200002,  //  0005  LDCONST	R8	K2
      0x542600FE,  //  0006  LDINT	R9	255
      0x7C0C0C00,  //  0007  CALL	R3	6
      0x88100109,  //  0008  GETMBR	R4	R0	K9
      0x8814010A,  //  0009  GETMBR	R5	R0	K10
      0x541A007F,  //  000A  LDINT	R6	128
      0x18180806,  //  000B  LE	R6	R4	R6
      0x781A000C,  //  000C  JMPF	R6	#001A
      0xB81A0800,  //  000D  GETNGBL	R6	K4
      0x8C180D05,  //  000E  GETMET	R6	R6	K5
      0x5C200800,  //  000F  MOVE	R8	R4
      0x58240002,  //  0010  LDCONST	R9	K2
      0x542A007F,  //  0011  LDINT	R10	128
      0x582C0002,  //  0012  LDCONST	R11	K2
      0x5432007F,  //  0013  LDINT	R12	128
      0x7C180C00,  //  0014  CALL	R6	6
      0x001C0606,  //  0015  ADD	R7	R3	R6
      0x542200FF,  //  0016  LDINT	R8	256
      0x101C0E08,  //  0017  MOD	R7	R7	R8
      0x5C0C0E00,  //  0018  MOVE	R3	R7
      0x7002000D,  //  0019  JMP		#0028
      0xB81A0800,  //  001A  GETNGBL	R6	K4
      0x8C180D05,  //  001B  GETMET	R6	R6	K5
      0x5C200800,  //  001C  MOVE	R8	R4
      0x5426007F,  //  001D  LDINT	R9	128
      0x542A00FE,  //  001E  LDINT	R10	255
      0x582C0002,  //  001F  LDCONST	R11	K2
      0x543200FE,  //  0020  LDINT	R12	255
      0x7C180C00,  //  0021  CALL	R6	6
      0x541E00FE,  //  0022  LDINT	R7	255
      0x00200606,  //  0023  ADD	R8	R3	R6
      0x542600FF,  //  0024  LDINT	R9	256
      0x10201009,  //  0025  MOD	R8	R8	R9
      0x041C0E08,  //  0026  SUB	R7	R7	R8
      0x5C0C0E00,  //  0027  MOVE	R3	R7
      0xB81A0800,  //  0028  GETNGBL	R6	K4
      0x8C180D05,  //  0029  GETMET	R6	R6	K5
      0x5C200600,  //  002A  MOVE	R8	R3
      0x58240002,  //  002B  LDCONST	R9	K2
      0x542A00FE,  //  002C  LDINT	R10	255
      0x582C0002,  //  002D  LDCONST	R11	K2
      0x5C300A00,  //  002E  MOVE	R12	R5
      0x7C180C00,  //  002F  CALL	R6	6
      0x5C0C0C00,  //  0030  MOVE	R3	R6
      0x80040600,  //  0031  RET	1	R3
    })
  )
);
/*******************************************************************/


/********************************************************************
** Solidified function: tostring
********************************************************************/
be_local_closure(class_GradientAnimation_tostring,   /* name */
  be_nested_proto(
    14,                          /* nstack */
    1,                          /* argc */
    10,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    0,                          /* has sup protos */
    NULL,                       /* no sub protos */
    1,                          /* has constants */
    &be_ktab_class_GradientAnimation,     /* shared constants */
    be_str_weak(tostring),
    &be_const_str_solidified,
    ( &(const binstruction[39]) {  /* code */
      0x8804010B,  //  0000  GETMBR	R1	R0	K11
      0x8808010C,  //  0001  GETMBR	R2	R0	K12
      0x880C0101,  //  0002  GETMBR	R3	R0	K1
      0x8810010D,  //  0003  GETMBR	R4	R0	K13
      0x1C140302,  //  0004  EQ	R5	R1	K2
      0x78160001,  //  0005  JMPF	R5	#0008
      0x5814000E,  //  0006  LDCONST	R5	K14
      0x70020000,  //  0007  JMP		#0009
      0x5814000F,  //  0008  LDCONST	R5	K15
      0x4C180000,  //  0009  LDNIL	R6
      0xB81E2000,  //  000A  GETNGBL	R7	K16
      0x8C1C0F11,  //  000B  GETMET	R7	R7	K17
      0x5C240400,  //  000C  MOVE	R9	R2
      0x7C1C0400,  //  000D  CALL	R7	2
      0x781E0004,  //  000E  JMPF	R7	#0014
      0x601C0008,  //  000F  GETGBL	R7	G8
      0x5C200400,  //  0010  MOVE	R8	R2
      0x7C1C0200,  //  0011  CALL	R7	1
      0x5C180E00,  //  0012  MOVE	R6	R7
      0x70020009,  //  0013  JMP		#001E
      0x4C1C0000,  //  0014  LDNIL	R7
      0x1C1C0407,  //  0015  EQ	R7	R2	R7
      0x781E0001,  //  0016  JMPF	R7	#0019
      0x58180012,  //  0017  LDCONST	R6	K18
      0x70020004,  //  0018  JMP		#001E
      0x601C0018,  //  0019  GETGBL	R7	G24
      0x58200013,  //  001A  LDCONST	R8	K19
      0x5C240400,  //  001B  MOVE	R9	R2
      0x7C1C0400,  //  001C  CALL	R7	2
      0x5C180E00,  //  001D  MOVE	R6	R7
      0x601C0018,  //  001E  GETGBL	R7	G24
      0x58200014,  //  001F  LDCONST	R8	K20
      0x5C240A00,  //  0020  MOVE	R9	R5
      0x5C280C00,  //  0021  MOVE	R10	R6
      0x5C2C0600,  //  0022  MOVE	R11	R3
      0x5C300800,  //  0023  MOVE	R12	R4
      0x88340115,  //  0024  GETMBR	R13	R0	K21
      0x7C1C0C00,  //  0025  CALL	R7	6
      0x80040E00,  //  0026  RET	1	R7
    })
  )
);
/*******************************************************************/


/********************************************************************
** Solidified function: render
********************************************************************/
be_local_closure(class_GradientAnimation_render,   /* name */
  be_nested_proto(
    9,                          /* nstack */
    4,                          /* argc */
    10,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    0,                          /* has sup protos */
    NULL,                       /* no sub protos */
    1,                          /* has constants */
    &be_ktab_class_GradientAnimation,     /* shared constants */
    be_str_weak(render),
    &be_const_str_solidified,
    ( &(const binstruction[20]) {  /* code */
      0x58100002,  //  0000  LDCONST	R4	K2
      0x14140803,  //  0001  LT	R5	R4	R3
      0x7816000E,  //  0002  JMPF	R5	#0012
      0x88140316,  //  0003  GETMBR	R5	R1	K22
      0x14140805,  //  0004  LT	R5	R4	R5
      0x7816000B,  //  0005  JMPF	R5	#0012
      0x6014000C,  //  0006  GETGBL	R5	G12
      0x88180117,  //  0007  GETMBR	R6	R0	K23
      0x7C140200,  //  0008  CALL	R5	1
      0x14140805,  //  0009  LT	R5	R4	R5
      0x78160004,  //  000A  JMPF	R5	#0010
      0x8C140318,  //  000B  GETMET	R5	R1	K24
      0x5C1C0800,  //  000C  MOVE	R7	R4
      0x88200117,  //  000D  GETMBR	R8	R0	K23
      0x94201004,  //  000E  GETIDX	R8	R8	R4
      0x7C140600,  //  000F  CALL	R5	3
      0x00100908,  //  0010  ADD	R4	R4	K8
      0x7001FFEE,  //  0011  JMP		#0001
      0x50140200,  //  0012  LDBOOL	R5	1	0
      0x80040A00,  //  0013  RET	1	R5
    })
  )
);
/*******************************************************************/


/********************************************************************
** Solidified function: on_param_changed
********************************************************************/
be_local_closure(class_GradientAnimation_on_param_changed,   /* name */
  be_nested_proto(
    7,                          /* nstack */
    3,                          /* argc */
    10,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    0,                          /* has sup protos */
    NULL,                       /* no sub protos */
    1,                          /* has constants */
    &be_ktab_class_GradientAnimation,     /* shared constants */
    be_str_weak(on_param_changed),
    &be_const_str_solidified,
    ( &(const binstruction[43]) {  /* code */
      0x600C0003,  //  0000  GETGBL	R3	G3
      0x5C100000,  //  0001  MOVE	R4	R0
      0x7C0C0200,  //  0002  CALL	R3	1
      0x8C0C0719,  //  0003  GETMET	R3	R3	K25
      0x5C140200,  //  0004  MOVE	R5	R1
      0x5C180400,  //  0005  MOVE	R6	R2
      0x7C0C0600,  //  0006  CALL	R3	3
      0x880C011A,  //  0007  GETMBR	R3	R0	K26
      0x880C071B,  //  0008  GETMBR	R3	R3	K27
      0x6010000C,  //  0009  GETGBL	R4	G12
      0x88140117,  //  000A  GETMBR	R5	R0	K23
      0x7C100200,  //  000B  CALL	R4	1
      0x20100803,  //  000C  NE	R4	R4	R3
      0x7812001B,  //  000D  JMPF	R4	#002A
      0x88100117,  //  000E  GETMBR	R4	R0	K23
      0x8C10091C,  //  000F  GETMET	R4	R4	K28
      0x5C180600,  //  0010  MOVE	R6	R3
      0x7C100400,  //  0011  CALL	R4	2
      0x6010000C,  //  0012  GETGBL	R4	G12
      0x88140117,  //  0013  GETMBR	R5	R0	K23
      0x7C100200,  //  0014  CALL	R4	1
      0x14140803,  //  0015  LT	R5	R4	R3
      0x78160012,  //  0016  JMPF	R5	#002A
      0x6014000C,  //  0017  GETGBL	R5	G12
      0x88180117,  //  0018  GETMBR	R6	R0	K23
      0x7C140200,  //  0019  CALL	R5	1
      0x28140805,  //  001A  GE	R5	R4	R5
      0x74160004,  //  001B  JMPT	R5	#0021
      0x88140117,  //  001C  GETMBR	R5	R0	K23
      0x94140A04,  //  001D  GETIDX	R5	R5	R4
      0x4C180000,  //  001E  LDNIL	R6
      0x1C140A06,  //  001F  EQ	R5	R5	R6
      0x78160006,  //  0020  JMPF	R5	#0028
      0x6014000C,  //  0021  GETGBL	R5	G12
      0x88180117,  //  0022  GETMBR	R6	R0	K23
      0x7C140200,  //  0023  CALL	R5	1
      0x14140805,  //  0024  LT	R5	R4	R5
      0x78160001,  //  0025  JMPF	R5	#0028
      0x88140117,  //  0026  GETMBR	R5	R0	K23
      0x9814091D,  //  0027  SETIDX	R5	R4	K29
      0x00100908,  //  0028  ADD	R4	R4	K8
      0x7001FFEA,  //  0029  JMP		#0015
      0x80000000,  //  002A  RET	0
    })
  )
);
/*******************************************************************/


/********************************************************************
** Solidified function: _calculate_gradient
********************************************************************/
be_local_closure(class_GradientAnimation__calculate_gradient,   /* name */
  be_nested_proto(
    18,                          /* nstack */
    2,                          /* argc */
    10,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    0,                          /* has sup protos */
    NULL,                       /* no sub protos */
    1,                          /* has constants */
    &be_ktab_class_GradientAnimation,     /* shared constants */
    be_str_weak(_calculate_gradient),
    &be_const_str_solidified,
    ( &(const binstruction[148]) {  /* code */
      0x8808010B,  //  0000  GETMBR	R2	R0	K11
      0x880C010C,  //  0001  GETMBR	R3	R0	K12
      0x8810011A,  //  0002  GETMBR	R4	R0	K26
      0x8810091B,  //  0003  GETMBR	R4	R4	K27
      0x6014000C,  //  0004  GETGBL	R5	G12
      0x88180117,  //  0005  GETMBR	R6	R0	K23
      0x7C140200,  //  0006  CALL	R5	1
      0x20140A04,  //  0007  NE	R5	R5	R4
      0x78160003,  //  0008  JMPF	R5	#000D
      0x88140117,  //  0009  GETMBR	R5	R0	K23
      0x8C140B1C,  //  000A  GETMET	R5	R5	K28
      0x5C1C0800,  //  000B  MOVE	R7	R4
      0x7C140400,  //  000C  CALL	R5	2
      0x58140002,  //  000D  LDCONST	R5	K2
      0x14180A04,  //  000E  LT	R6	R5	R4
      0x781A0082,  //  000F  JMPF	R6	#0093
      0x58180002,  //  0010  LDCONST	R6	K2
      0x1C1C0502,  //  0011  EQ	R7	R2	K2
      0x781E0005,  //  0012  JMPF	R7	#0019
      0x8C1C011E,  //  0013  GETMET	R7	R0	K30
      0x5C240A00,  //  0014  MOVE	R9	R5
      0x5C280800,  //  0015  MOVE	R10	R4
      0x7C1C0600,  //  0016  CALL	R7	3
      0x5C180E00,  //  0017  MOVE	R6	R7
      0x70020004,  //  0018  JMP		#001E
      0x8C1C011F,  //  0019  GETMET	R7	R0	K31
      0x5C240A00,  //  001A  MOVE	R9	R5
      0x5C280800,  //  001B  MOVE	R10	R4
      0x7C1C0600,  //  001C  CALL	R7	3
      0x5C180E00,  //  001D  MOVE	R6	R7
      0x881C0106,  //  001E  GETMBR	R7	R0	K6
      0x001C0C07,  //  001F  ADD	R7	R6	R7
      0x542200FF,  //  0020  LDINT	R8	256
      0x101C0E08,  //  0021  MOD	R7	R7	R8
      0x5C180E00,  //  0022  MOVE	R6	R7
      0x581C001D,  //  0023  LDCONST	R7	K29
      0x4C200000,  //  0024  LDNIL	R8
      0x1C200608,  //  0025  EQ	R8	R3	R8
      0x7822001B,  //  0026  JMPF	R8	#0043
      0xB8220800,  //  0027  GETNGBL	R8	K4
      0x8C201105,  //  0028  GETMET	R8	R8	K5
      0x5C280C00,  //  0029  MOVE	R10	R6
      0x582C0002,  //  002A  LDCONST	R11	K2
      0x543200FE,  //  002B  LDINT	R12	255
      0x58340002,  //  002C  LDCONST	R13	K2
      0x543A0166,  //  002D  LDINT	R14	359
      0x7C200C00,  //  002E  CALL	R8	6
      0xA4264000,  //  002F  IMPORT	R9	K32
      0x5C281200,  //  0030  MOVE	R10	R9
      0x582C0021,  //  0031  LDCONST	R11	K33
      0x7C280200,  //  0032  CALL	R10	1
      0x8C2C1522,  //  0033  GETMET	R11	R10	K34
      0x5C341000,  //  0034  MOVE	R13	R8
      0x543A00FE,  //  0035  LDINT	R14	255
      0x7C2C0600,  //  0036  CALL	R11	3
      0x882C1523,  //  0037  GETMBR	R11	R10	K35
      0x5432000F,  //  0038  LDINT	R12	16
      0x382C160C,  //  0039  SHL	R11	R11	R12
      0x302E3A0B,  //  003A  OR	R11	K29	R11
      0x88301524,  //  003B  GETMBR	R12	R10	K36
      0x54360007,  //  003C  LDINT	R13	8
      0x3830180D,  //  003D  SHL	R12	R12	R13
      0x302C160C,  //  003E  OR	R11	R11	R12
      0x88301525,  //  003F  GETMBR	R12	R10	K37
      0x302C160C,  //  0040  OR	R11	R11	R12
      0x5C1C1600,  //  0041  MOVE	R7	R11
      0x7002004B,  //  0042  JMP		#008F
      0xB8222000,  //  0043  GETNGBL	R8	K16
      0x8C201126,  //  0044  GETMET	R8	R8	K38
      0x5C280600,  //  0045  MOVE	R10	R3
      0x7C200400,  //  0046  CALL	R8	2
      0x78220009,  //  0047  JMPF	R8	#0052
      0x88200727,  //  0048  GETMBR	R8	R3	K39
      0x4C240000,  //  0049  LDNIL	R9
      0x20201009,  //  004A  NE	R8	R8	R9
      0x78220005,  //  004B  JMPF	R8	#0052
      0x8C200727,  //  004C  GETMET	R8	R3	K39
      0x5C280C00,  //  004D  MOVE	R10	R6
      0x582C0002,  //  004E  LDCONST	R11	K2
      0x7C200600,  //  004F  CALL	R8	3
      0x5C1C1000,  //  0050  MOVE	R7	R8
      0x7002003C,  //  0051  JMP		#008F
      0xB8222000,  //  0052  GETNGBL	R8	K16
      0x8C201111,  //  0053  GETMET	R8	R8	K17
      0x5C280600,  //  0054  MOVE	R10	R3
      0x7C200400,  //  0055  CALL	R8	2
      0x78220008,  //  0056  JMPF	R8	#0060
      0x8C200128,  //  0057  GETMET	R8	R0	K40
      0x5C280600,  //  0058  MOVE	R10	R3
      0x582C000C,  //  0059  LDCONST	R11	K12
      0x54320009,  //  005A  LDINT	R12	10
      0x08300C0C,  //  005B  MUL	R12	R6	R12
      0x0030020C,  //  005C  ADD	R12	R1	R12
      0x7C200800,  //  005D  CALL	R8	4
      0x5C1C1000,  //  005E  MOVE	R7	R8
      0x7002002E,  //  005F  JMP		#008F
      0x60200004,  //  0060  GETGBL	R8	G4
      0x5C240600,  //  0061  MOVE	R9	R3
      0x7C200200,  //  0062  CALL	R8	1
      0x1C201129,  //  0063  EQ	R8	R8	K41
      0x78220028,  //  0064  JMPF	R8	#008E
      0x5C200C00,  //  0065  MOVE	R8	R6
      0xB8260800,  //  0066  GETNGBL	R9	K4
      0x8C241305,  //  0067  GETMET	R9	R9	K5
      0x5C2C1000,  //  0068  MOVE	R11	R8
      0x58300002,  //  0069  LDCONST	R12	K2
      0x543600FE,  //  006A  LDINT	R13	255
      0x58380002,  //  006B  LDCONST	R14	K2
      0x543E000F,  //  006C  LDINT	R15	16
      0x3C3C060F,  //  006D  SHR	R15	R3	R15
      0x544200FE,  //  006E  LDINT	R16	255
      0x2C3C1E10,  //  006F  AND	R15	R15	R16
      0x7C240C00,  //  0070  CALL	R9	6
      0xB82A0800,  //  0071  GETNGBL	R10	K4
      0x8C281505,  //  0072  GETMET	R10	R10	K5
      0x5C301000,  //  0073  MOVE	R12	R8
      0x58340002,  //  0074  LDCONST	R13	K2
      0x543A00FE,  //  0075  LDINT	R14	255
      0x583C0002,  //  0076  LDCONST	R15	K2
      0x54420007,  //  0077  LDINT	R16	8
      0x3C400610,  //  0078  SHR	R16	R3	R16
      0x544600FE,  //  0079  LDINT	R17	255
      0x2C402011,  //  007A  AND	R16	R16	R17
      0x7C280C00,  //  007B  CALL	R10	6
      0xB82E0800,  //  007C  GETNGBL	R11	K4
      0x8C2C1705,  //  007D  GETMET	R11	R11	K5
      0x5C341000,  //  007E  MOVE	R13	R8
      0x58380002,  //  007F  LDCONST	R14	K2
      0x543E00FE,  //  0080  LDINT	R15	255
      0x58400002,  //  0081  LDCONST	R16	K2
      0x544600FE,  //  0082  LDINT	R17	255
      0x2C440611,  //  0083  AND	R17	R3	R17
      0x7C2C0C00,  //  0084  CALL	R11	6
      0x5432000F,  //  0085  LDINT	R12	16
      0x3830120C,  //  0086  SHL	R12	R9	R12
      0x30323A0C,  //  0087  OR	R12	K29	R12
      0x54360007,  //  0088  LDINT	R13	8
      0x3834140D,  //  0089  SHL	R13	R10	R13
      0x3030180D,  //  008A  OR	R12	R12	R13
      0x3030180B,  //  008B  OR	R12	R12	R11
      0x5C1C1800,  //  008C  MOVE	R7	R12
      0x70020000,  //  008D  JMP		#008F
      0x5C1C0600,  //  008E  MOVE	R7	R3
      0x88200117,  //  008F  GETMBR	R8	R0	K23
      0x98200A07,  //  0090  SETIDX	R8	R5	R7
      0x00140B08,  //  0091  ADD	R5	R5	K8
      0x7001FF7A,  //  0092  JMP		#000E
      0x80000000,  //  0093  RET	0
    })
  )
);
/*******************************************************************/


/********************************************************************
** Solidified function: init
********************************************************************/
be_local_closure(class_GradientAnimation_init,   /* name */
  be_nested_proto(
    6,                          /* nstack */
    2,                          /* argc */
    10,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    0,                          /* has sup protos */
    NULL,                       /* no sub protos */
    1,                          /* has constants */
    &be_ktab_class_GradientAnimation,     /* shared constants */
    be_str_weak(init),
    &be_const_str_solidified,
    ( &(const binstruction[24]) {  /* code */
      0x60080003,  //  0000  GETGBL	R2	G3
      0x5C0C0000,  //  0001  MOVE	R3	R0
      0x7C080200,  //  0002  CALL	R2	1
      0x8C08052A,  //  0003  GETMET	R2	R2	K42
      0x5C100200,  //  0004  MOVE	R4	R1
      0x7C080400,  //  0005  CALL	R2	2
      0x60080012,  //  0006  GETGBL	R2	G18
      0x7C080000,  //  0007  CALL	R2	0
      0x90022E02,  //  0008  SETMBR	R0	K23	R2
      0x90020D02,  //  0009  SETMBR	R0	K6	K2
      0x8808011A,  //  000A  GETMBR	R2	R0	K26
      0x8808051B,  //  000B  GETMBR	R2	R2	K27
      0x880C0117,  //  000C  GETMBR	R3	R0	K23
      0x8C0C071C,  //  000D  GETMET	R3	R3	K28
      0x5C140400,  //  000E  MOVE	R5	R2
      0x7C0C0400,  //  000F  CALL	R3	2
      0x580C0002,  //  0010  LDCONST	R3	K2
      0x14100602,  //  0011  LT	R4	R3	R2
      0x78120003,  //  0012  JMPF	R4	#0017
      0x88100117,  //  0013  GETMBR	R4	R0	K23
      0x9810071D,  //  0014  SETIDX	R4	R3	K29
      0x000C0708,  //  0015  ADD	R3	R3	K8
      0x7001FFF9,  //  0016  JMP		#0011
      0x80000000,  //  0017  RET	0
    })
  )
);
/*******************************************************************/


/********************************************************************
** Solidified function: _calculate_radial_position
********************************************************************/
be_local_closure(class_GradientAnimation__calculate_radial_position,   /* name */
  be_nested_proto(
    14,                          /* nstack */
    3,                          /* argc */
    10,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    0,                          /* has sup protos */
    NULL,                       /* no sub protos */
    1,                          /* has constants */
    &be_ktab_class_GradientAnimation,     /* shared constants */
    be_str_weak(_calculate_radial_position),
    &be_const_str_solidified,
    ( &(const binstruction[32]) {  /* code */
      0xB80E0800,  //  0000  GETNGBL	R3	K4
      0x8C0C0705,  //  0001  GETMET	R3	R3	K5
      0x5C140200,  //  0002  MOVE	R5	R1
      0x58180002,  //  0003  LDCONST	R6	K2
      0x041C0508,  //  0004  SUB	R7	R2	K8
      0x58200002,  //  0005  LDCONST	R8	K2
      0x542600FE,  //  0006  LDINT	R9	255
      0x7C0C0C00,  //  0007  CALL	R3	6
      0x8810012B,  //  0008  GETMBR	R4	R0	K43
      0x8814010A,  //  0009  GETMBR	R5	R0	K10
      0x58180002,  //  000A  LDCONST	R6	K2
      0x281C0604,  //  000B  GE	R7	R3	R4
      0x781E0002,  //  000C  JMPF	R7	#0010
      0x041C0604,  //  000D  SUB	R7	R3	R4
      0x5C180E00,  //  000E  MOVE	R6	R7
      0x70020001,  //  000F  JMP		#0012
      0x041C0803,  //  0010  SUB	R7	R4	R3
      0x5C180E00,  //  0011  MOVE	R6	R7
      0xB81E0800,  //  0012  GETNGBL	R7	K4
      0x8C1C0F05,  //  0013  GETMET	R7	R7	K5
      0x5C240C00,  //  0014  MOVE	R9	R6
      0x58280002,  //  0015  LDCONST	R10	K2
      0x542E007F,  //  0016  LDINT	R11	128
      0x58300002,  //  0017  LDCONST	R12	K2
      0x5C340A00,  //  0018  MOVE	R13	R5
      0x7C1C0C00,  //  0019  CALL	R7	6
      0x5C180E00,  //  001A  MOVE	R6	R7
      0x541E00FE,  //  001B  LDINT	R7	255
      0x241C0C07,  //  001C  GT	R7	R6	R7
      0x781E0000,  //  001D  JMPF	R7	#001F
      0x541A00FE,  //  001E  LDINT	R6	255
      0x80040C00,  //  001F  RET	1	R6
    })
  )
);
/*******************************************************************/


/********************************************************************
** Solidified class: GradientAnimation
********************************************************************/
extern const bclass be_class_Animation;
be_local_class(GradientAnimation,
    2,
    &be_class_Animation,
    be_nested_map(11,
    ( (struct bmapnode*) &(const bmapnode[]) {
        { be_const_key_weak(current_colors, -1), be_const_var(0) },
        { be_const_key_weak(render, -1), be_const_closure(class_GradientAnimation_render_closure) },
        { be_const_key_weak(_calculate_linear_position, -1), be_const_closure(class_GradientAnimation__calculate_linear_position_closure) },
        { be_const_key_weak(tostring, -1), be_const_closure(class_GradientAnimation_tostring_closure) },
        { be_const_key_weak(update, 1), be_const_closure(class_GradientAnimation_update_closure) },
        { be_const_key_weak(on_param_changed, -1), be_const_closure(class_GradientAnimation_on_param_changed_closure) },
        { be_const_key_weak(phase_offset, -1), be_const_var(1) },
        { be_const_key_weak(_calculate_gradient, -1), be_const_closure(class_GradientAnimation__calculate_gradient_closure) },
        { be_const_key_weak(PARAMS, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_map, {
        be_const_map( *     be_nested_map(6,
    ( (struct bmapnode*) &(const bmapnode[]) {
        { be_const_key_weak(spread, -1), be_const_bytes_instance(07000101FF0001FF00) },
        { be_const_key_weak(center_pos, -1), be_const_bytes_instance(07000001FF00018000) },
        { be_const_key_weak(gradient_type, 0), be_const_bytes_instance(07000000010000) },
        { be_const_key_weak(movement_speed, 5), be_const_bytes_instance(07000001FF000000) },
        { be_const_key_weak(direction, 3), be_const_bytes_instance(07000001FF000000) },
        { be_const_key_weak(color, -1), be_const_bytes_instance(2406) },
    }))    ) } )) },
        { be_const_key_weak(init, -1), be_const_closure(class_GradientAnimation_init_closure) },
        { be_const_key_weak(_calculate_radial_position, -1), be_const_closure(class_GradientAnimation__calculate_radial_position_closure) },
    })),
    be_str_weak(GradientAnimation)
);
extern const bclass be_class_AnimationMath;
// compact class 'AnimationMath' ktab size: 13, total: 31 (saved 144 bytes)
static const bvalue be_ktab_class_AnimationMath[13] = {
  /* K0   */  be_const_class(be_class_AnimationMath),
  /* K1   */  be_nested_str_weak(math),
  /* K2   */  be_nested_str_weak(int),
  /* K3   */  be_const_int(0),
  /* K4   */  be_const_real_hex(0x437F0000),
  /* K5   */  be_nested_str_weak(sqrt),
  /* K6   */  be_nested_str_weak(max),
  /* K7   */  be_nested_str_weak(round),
  /* K8   */  be_nested_str_weak(abs),
  /* K9   */  be_nested_str_weak(tasmota),
  /* K10  */  be_nested_str_weak(scale_int),
  /* K11  */  be_nested_str_weak(sine_int),
  /* K12  */  be_nested_str_weak(min),
};


extern const bclass be_class_AnimationMath;

/********************************************************************
** Solidified function: sqrt
********************************************************************/
be_local_closure(class_AnimationMath_sqrt,   /* name */
  be_nested_proto(
    8,                          /* nstack */
    1,                          /* argc */
    12,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    0,                          /* has sup protos */
    NULL,                       /* no sub protos */
    1,                          /* has constants */
    &be_ktab_class_AnimationMath,     /* shared constants */
    be_str_weak(sqrt),
    &be_const_str_solidified,
    ( &(const binstruction[27]) {  /* code */
      0x58040000,  //  0000  LDCONST	R1	K0
      0xA40A0200,  //  0001  IMPORT	R2	K1
      0x600C0004,  //  0002  GETGBL	R3	G4
      0x5C100000,  //  0003  MOVE	R4	R0
      0x7C0C0200,  //  0004  CALL	R3	1
      0x1C0C0702,  //  0005  EQ	R3	R3	K2
      0x780E000E,  //  0006  JMPF	R3	#0016
      0x280C0103,  //  0007  GE	R3	R0	K3
      0x780E000C,  //  0008  JMPF	R3	#0016
      0x540E00FE,  //  0009  LDINT	R3	255
      0x180C0003,  //  000A  LE	R3	R0	R3
      0x780E0009,  //  000B  JMPF	R3	#0016
      0x0C0C0104,  //  000C  DIV	R3	R0	K4
      0x60100009,  //  000D  GETGBL	R4	G9
      0x8C140505,  //  000E  GETMET	R5	R2	K5
      0x5C1C0600,  //  000F  MOVE	R7	R3
      0x7C140400,  //  0010  CALL	R5	2
      0x541A00FE,  //  0011  LDINT	R6	255
      0x08140A06,  //  0012  MUL	R5	R5	R6
      0x7C100200,  //  0013  CALL	R4	1
      0x80040800,  //  0014  RET	1	R4
      0x70020003,  //  0015  JMP		#001A
      0x8C0C0505,  //  0016  GETMET	R3	R2	K5
      0x5C140000,  //  0017  MOVE	R5	R0
      0x7C0C0400,  //  0018  CALL	R3	2
      0x80040600,  //  0019  RET	1	R3
      0x80000000,  //  001A  RET	0
    })
  )
);
/*******************************************************************/


/********************************************************************
** Solidified function: max
********************************************************************/
be_local_closure(class_AnimationMath_max,   /* name */
  be_nested_proto(
    6,                          /* nstack */
    1,                          /* argc */
    13,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    0,                          /* has sup protos */
    NULL,                       /* no sub protos */
    1,                          /* has constants */
    &be_ktab_class_AnimationMath,     /* shared constants */
    be_str_weak(max),
    &be_const_str_solidified,
    ( &(const binstruction[ 7]) {  /* code */
      0x58040000,  //  0000  LDCONST	R1	K0
      0xA40A0200,  //  0001  IMPORT	R2	K1
      0x600C0016,  //  0002  GETGBL	R3	G22
      0x88100506,  //  0003  GETMBR	R4	R2	K6
      0x5C140000,  //  0004  MOVE	R5	R0
      0x7C0C0400,  //  0005  CALL	R3	2
      0x80040600,  //  0006  RET	1	R3
    })
  )
);
/*******************************************************************/


/********************************************************************
** Solidified function: round
********************************************************************/
be_local_closure(class_AnimationMath_round,   /* name */
  be_nested_proto(
    7,                          /* nstack */
    1,                          /* argc */
    12,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    0,                          /* has sup protos */
    NULL,                       /* no sub protos */
    1,                          /* has constants */
    &be_ktab_class_AnimationMath,     /* shared constants */
    be_str_weak(round),
    &be_const_str_solidified,
    ( &(const binstruction[ 8]) {  /* code */
      0x58040000,  //  0000  LDCONST	R1	K0
      0xA40A0200,  //  0001  IMPORT	R2	K1
      0x600C0009,  //  0002  GETGBL	R3	G9
      0x8C100507,  //  0003  GETMET	R4	R2	K7
      0x5C180000,  //  0004  MOVE	R6	R0
      0x7C100400,  //  0005  CALL	R4	2
      0x7C0C0200,  //  0006  CALL	R3	1
      0x80040600,  //  0007  RET	1	R3
    })
  )
);
/*******************************************************************/


/********************************************************************
** Solidified function: abs
********************************************************************/
be_local_closure(class_AnimationMath_abs,   /* name */
  be_nested_proto(
    6,                          /* nstack */
    1,                          /* argc */
    12,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    0,                          /* has sup protos */
    NULL,                       /* no sub protos */
    1,                          /* has constants */
    &be_ktab_class_AnimationMath,     /* shared constants */
    be_str_weak(abs),
    &be_const_str_solidified,
    ( &(const binstruction[ 6]) {  /* code */
      0x58040000,  //  0000  LDCONST	R1	K0
      0xA40A0200,  //  0001  IMPORT	R2	K1
      0x8C0C0508,  //  0002  GETMET	R3	R2	K8
      0x5C140000,  //  0003  MOVE	R5	R0
      0x7C0C0400,  //  0004  CALL	R3	2
      0x80040600,  //  0005  RET	1	R3
    })
  )
);
/*******************************************************************/


/********************************************************************
** Solidified function: cos
********************************************************************/
be_local_closure(class_AnimationMath_cos,   /* name */
  be_nested_proto(
    11,                          /* nstack */
    1,                          /* argc */
    12,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    0,                          /* has sup protos */
    NULL,                       /* no sub protos */
    1,                          /* has constants */
    &be_ktab_class_AnimationMath,     /* shared constants */
    be_str_weak(cos),
    &be_const_str_solidified,
    ( &(const binstruction[23]) {  /* code */
      0x58040000,  //  0000  LDCONST	R1	K0
      0xB80A1200,  //  0001  GETNGBL	R2	K9
      0x8C08050A,  //  0002  GETMET	R2	R2	K10
      0x5C100000,  //  0003  MOVE	R4	R0
      0x58140003,  //  0004  LDCONST	R5	K3
      0x541A00FE,  //  0005  LDINT	R6	255
      0x581C0003,  //  0006  LDCONST	R7	K3
      0x54227FFE,  //  0007  LDINT	R8	32767
      0x7C080C00,  //  0008  CALL	R2	6
      0xB80E1200,  //  0009  GETNGBL	R3	K9
      0x8C0C070B,  //  000A  GETMET	R3	R3	K11
      0x54161FFF,  //  000B  LDINT	R5	8192
      0x04140405,  //  000C  SUB	R5	R2	R5
      0x7C0C0400,  //  000D  CALL	R3	2
      0xB8121200,  //  000E  GETNGBL	R4	K9
      0x8C10090A,  //  000F  GETMET	R4	R4	K10
      0x5C180600,  //  0010  MOVE	R6	R3
      0x541DEFFF,  //  0011  LDINT	R7	-4096
      0x54220FFF,  //  0012  LDINT	R8	4096
      0x5425FF00,  //  0013  LDINT	R9	-255
      0x542A00FE,  //  0014  LDINT	R10	255
      0x7C100C00,  //  0015  CALL	R4	6
      0x80040800,  //  0016  RET	1	R4
    })
  )
);
/*******************************************************************/


/********************************************************************
** Solidified function: sin
********************************************************************/
be_local_closure(class_AnimationMath_sin,   /* name */
  be_nested_proto(
    11,                          /* nstack */
    1,                          /* argc */
    12,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    0,                          /* has sup protos */
    NULL,                       /* no sub protos */
    1,                          /* has constants */
    &be_ktab_class_AnimationMath,     /* shared constants */
    be_str_weak(sin),
    &be_const_str_solidified,
    ( &(const binstruction[22]) {  /* code */
      0x58040000,  //  0000  LDCONST	R1	K0
      0xB80A1200,  //  0001  GETNGBL	R2	K9
      0x8C08050A,  //  0002  GETMET	R2	R2	K10
      0x5C100000,  //  0003  MOVE	R4	R0
      0x58140003,  //  0004  LDCONST	R5	K3
      0x541A00FE,  //  0005  LDINT	R6	255
      0x581C0003,  //  0006  LDCONST	R7	K3
      0x54227FFE,  //  0007  LDINT	R8	32767
      0x7C080C00,  //  0008  CALL	R2	6
      0xB80E1200,  //  0009  GETNGBL	R3	K9
      0x8C0C070B,  //  000A  GETMET	R3	R3	K11
      0x5C140400,  //  000B  MOVE	R5	R2
      0x7C0C0400,  //  000C  CALL	R3	2
      0xB8121200,  //  000D  GETNGBL	R4	K9
      0x8C10090A,  //  000E  GETMET	R4	R4	K10
      0x5C180600,  //  000F  MOVE	R6	R3
      0x541DEFFF,  //  0010  LDINT	R7	-4096
      0x54220FFF,  //  0011  LDINT	R8	4096
      0x5425FF00,  //  0012  LDINT	R9	-255
      0x542A00FE,  //  0013  LDINT	R10	255
      0x7C100C00,  //  0014  CALL	R4	6
      0x80040800,  //  0015  RET	1	R4
    })
  )
);
/*******************************************************************/


/********************************************************************
** Solidified function: scale
********************************************************************/
be_local_closure(class_AnimationMath_scale,   /* name */
  be_nested_proto(
    13,                          /* nstack */
    5,                          /* argc */
    12,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    0,                          /* has sup protos */
    NULL,                       /* no sub protos */
    1,                          /* has constants */
    &be_ktab_class_AnimationMath,     /* shared constants */
    be_str_weak(scale),
    &be_const_str_solidified,
    ( &(const binstruction[10]) {  /* code */
      0x58140000,  //  0000  LDCONST	R5	K0
      0xB81A1200,  //  0001  GETNGBL	R6	K9
      0x8C180D0A,  //  0002  GETMET	R6	R6	K10
      0x5C200000,  //  0003  MOVE	R8	R0
      0x5C240200,  //  0004  MOVE	R9	R1
      0x5C280400,  //  0005  MOVE	R10	R2
      0x5C2C0600,  //  0006  MOVE	R11	R3
      0x5C300800,  //  0007  MOVE	R12	R4
      0x7C180C00,  //  0008  CALL	R6	6
      0x80040C00,  //  0009  RET	1	R6
    })
  )
);
/*******************************************************************/


/********************************************************************
** Solidified function: min
********************************************************************/
be_local_closure(class_AnimationMath_min,   /* name */
  be_nested_proto(
    6,                          /* nstack */
    1,                          /* argc */
    13,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    0,                          /* has sup protos */
    NULL,                       /* no sub protos */
    1,                          /* has constants */
    &be_ktab_class_AnimationMath,     /* shared constants */
    be_str_weak(min),
    &be_const_str_solidified,
    ( &(const binstruction[ 7]) {  /* code */
      0x58040000,  //  0000  LDCONST	R1	K0
      0xA40A0200,  //  0001  IMPORT	R2	K1
      0x600C0016,  //  0002  GETGBL	R3	G22
      0x8810050C,  //  0003  GETMBR	R4	R2	K12
      0x5C140000,  //  0004  MOVE	R5	R0
      0x7C0C0400,  //  0005  CALL	R3	2
      0x80040600,  //  0006  RET	1	R3
    })
  )
);
/*******************************************************************/


/********************************************************************
** Solidified class: AnimationMath
********************************************************************/
be_local_class(AnimationMath,
    0,
    NULL,
    be_nested_map(8,
    ( (struct bmapnode*) &(const bmapnode[]) {
        { be_const_key_weak(min, -1), be_const_static_closure(class_AnimationMath_min_closure) },
        { be_const_key_weak(max, 2), be_const_static_closure(class_AnimationMath_max_closure) },
        { be_const_key_weak(scale, -1), be_const_static_closure(class_AnimationMath_scale_closure) },
        { be_const_key_weak(round, 6), be_const_static_closure(class_AnimationMath_round_closure) },
        { be_const_key_weak(cos, -1), be_const_static_closure(class_AnimationMath_cos_closure) },
        { be_const_key_weak(sin, -1), be_const_static_closure(class_AnimationMath_sin_closure) },
        { be_const_key_weak(abs, -1), be_const_static_closure(class_AnimationMath_abs_closure) },
        { be_const_key_weak(sqrt, 0), be_const_static_closure(class_AnimationMath_sqrt_closure) },
    })),
    be_str_weak(AnimationMath)
);

/********************************************************************
** Solidified function: pulsating_color_provider
********************************************************************/
be_local_closure(pulsating_color_provider,   /* name */
  be_nested_proto(
    4,                          /* nstack */
    1,                          /* argc */
    0,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    0,                          /* has sup protos */
    NULL,                       /* no sub protos */
    1,                          /* has constants */
    ( &(const bvalue[ 5]) {     /* constants */
    /* K0   */  be_nested_str_weak(animation),
    /* K1   */  be_nested_str_weak(breathe_color),
    /* K2   */  be_nested_str_weak(curve_factor),
    /* K3   */  be_const_int(1),
    /* K4   */  be_nested_str_weak(duration),
    }),
    be_str_weak(pulsating_color_provider),
    &be_const_str_solidified,
    ( &(const binstruction[ 8]) {  /* code */
      0xB8060000,  //  0000  GETNGBL	R1	K0
      0x8C040301,  //  0001  GETMET	R1	R1	K1
      0x5C0C0000,  //  0002  MOVE	R3	R0
      0x7C040400,  //  0003  CALL	R1	2
      0x90060503,  //  0004  SETMBR	R1	K2	K3
      0x540A03E7,  //  0005  LDINT	R2	1000
      0x90060802,  //  0006  SETMBR	R1	K4	R2
      0x80040200,  //  0007  RET	1	R1
    })
  )
);
/*******************************************************************/

extern const bclass be_class_ColorProvider;
// compact class 'ColorProvider' ktab size: 10, total: 11 (saved 8 bytes)
static const bvalue be_ktab_class_ColorProvider[10] = {
  /* K0   */  be_nested_str_weak(produce_value),
  /* K1   */  be_nested_str_weak(color),
  /* K2   */  be_nested_str_weak(_color_lut),
  /* K3   */  be_const_class(be_class_ColorProvider),
  /* K4   */  be_nested_str_weak(tasmota),
  /* K5   */  be_nested_str_weak(scale_uint),
  /* K6   */  be_const_int(0),
  /* K7   */  be_const_int(-16777216),
  /* K8   */  be_nested_str_weak(init),
  /* K9   */  be_nested_str_weak(_lut_dirty),
};


extern const bclass be_class_ColorProvider;

/********************************************************************
** Solidified function: get_color_for_value
********************************************************************/
be_local_closure(class_ColorProvider_get_color_for_value,   /* name */
  be_nested_proto(
    7,                          /* nstack */
    3,                          /* argc */
    10,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    0,                          /* has sup protos */
    NULL,                       /* no sub protos */
    1,                          /* has constants */
    &be_ktab_class_ColorProvider,     /* shared constants */
    be_str_weak(get_color_for_value),
    &be_const_str_solidified,
    ( &(const binstruction[ 5]) {  /* code */
      0x8C0C0100,  //  0000  GETMET	R3	R0	K0
      0x58140001,  //  0001  LDCONST	R5	K1
      0x5C180400,  //  0002  MOVE	R6	R2
      0x7C0C0600,  //  0003  CALL	R3	3
      0x80040600,  //  0004  RET	1	R3
    })
  )
);
/*******************************************************************/


/********************************************************************
** Solidified function: get_lut
********************************************************************/
be_local_closure(class_ColorProvider_get_lut,   /* name */
  be_nested_proto(
    2,                          /* nstack */
    1,                          /* argc */
    10,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    0,                          /* has sup protos */
    NULL,                       /* no sub protos */
    1,                          /* has constants */
    &be_ktab_class_ColorProvider,     /* shared constants */
    be_str_weak(get_lut),
    &be_const_str_solidified,
    ( &(const binstruction[ 2]) {  /* code */
      0x88040102,  //  0000  GETMBR	R1	R0	K2
      0x80040200,  //  0001  RET	1	R1
    })
  )
);
/*******************************************************************/


/********************************************************************
** Solidified function: apply_brightness
********************************************************************/
be_local_closure(class_ColorProvider_apply_brightness,   /* name */
  be_nested_proto(
    13,                          /* nstack */
    2,                          /* argc */
    12,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    0,                          /* has sup protos */
    NULL,                       /* no sub protos */
    1,                          /* has constants */
    &be_ktab_class_ColorProvider,     /* shared constants */
    be_str_weak(apply_brightness),
    &be_const_str_solidified,
    ( &(const binstruction[51]) {  /* code */
      0x58080003,  //  0000  LDCONST	R2	K3
      0x540E00FE,  //  0001  LDINT	R3	255
      0x1C0C0203,  //  0002  EQ	R3	R1	R3
      0x780E0000,  //  0003  JMPF	R3	#0005
      0x80040000,  //  0004  RET	1	R0
      0x540E000F,  //  0005  LDINT	R3	16
      0x3C0C0003,  //  0006  SHR	R3	R0	R3
      0x541200FE,  //  0007  LDINT	R4	255
      0x2C0C0604,  //  0008  AND	R3	R3	R4
      0x54120007,  //  0009  LDINT	R4	8
      0x3C100004,  //  000A  SHR	R4	R0	R4
      0x541600FE,  //  000B  LDINT	R5	255
      0x2C100805,  //  000C  AND	R4	R4	R5
      0x541600FE,  //  000D  LDINT	R5	255
      0x2C140005,  //  000E  AND	R5	R0	R5
      0xB81A0800,  //  000F  GETNGBL	R6	K4
      0x8C180D05,  //  0010  GETMET	R6	R6	K5
      0x5C200600,  //  0011  MOVE	R8	R3
      0x58240006,  //  0012  LDCONST	R9	K6
      0x542A00FE,  //  0013  LDINT	R10	255
      0x582C0006,  //  0014  LDCONST	R11	K6
      0x5C300200,  //  0015  MOVE	R12	R1
      0x7C180C00,  //  0016  CALL	R6	6
      0x5C0C0C00,  //  0017  MOVE	R3	R6
      0xB81A0800,  //  0018  GETNGBL	R6	K4
      0x8C180D05,  //  0019  GETMET	R6	R6	K5
      0x5C200800,  //  001A  MOVE	R8	R4
      0x58240006,  //  001B  LDCONST	R9	K6
      0x542A00FE,  //  001C  LDINT	R10	255
      0x582C0006,  //  001D  LDCONST	R11	K6
      0x5C300200,  //  001E  MOVE	R12	R1
      0x7C180C00,  //  001F  CALL	R6	6
      0x5C100C00,  //  0020  MOVE	R4	R6
      0xB81A0800,  //  0021  GETNGBL	R6	K4
      0x8C180D05,  //  0022  GETMET	R6	R6	K5
      0x5C200A00,  //  0023  MOVE	R8	R5
      0x58240006,  //  0024  LDCONST	R9	K6
      0x542A00FE,  //  0025  LDINT	R10	255
      0x582C0006,  //  0026  LDCONST	R11	K6
      0x5C300200,  //  0027  MOVE	R12	R1
      0x7C180C00,  //  0028  CALL	R6	6
      0x5C140C00,  //  0029  MOVE	R5	R6
      0x2C180107,  //  002A  AND	R6	R0	K7
      0x541E000F,  //  002B  LDINT	R7	16
      0x381C0607,  //  002C  SHL	R7	R3	R7
      0x30180C07,  //  002D  OR	R6	R6	R7
      0x541E0007,  //  002E  LDINT	R7	8
      0x381C0807,  //  002F  SHL	R7	R4	R7
      0x30180C07,  //  0030  OR	R6	R6	R7
      0x30180C05,  //  0031  OR	R6	R6	R5
      0x80040C00,  //  0032  RET	1	R6
    })
  )
);
/*******************************************************************/


/********************************************************************
** Solidified function: produce_value
********************************************************************/
be_local_closure(class_ColorProvider_produce_value,   /* name */
  be_nested_proto(
    4,                          /* nstack */
    3,                          /* argc */
    10,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    0,                          /* has sup protos */
    NULL,                       /* no sub protos */
    1,                          /* has constants */
    &be_ktab_class_ColorProvider,     /* shared constants */
    be_str_weak(produce_value),
    &be_const_str_solidified,
    ( &(const binstruction[ 2]) {  /* code */
      0x540DFFFE,  //  0000  LDINT	R3	-1
      0x80040600,  //  0001  RET	1	R3
    })
  )
);
/*******************************************************************/


/********************************************************************
** Solidified function: init
********************************************************************/
be_local_closure(class_ColorProvider_init,   /* name */
  be_nested_proto(
    5,                          /* nstack */
    2,                          /* argc */
    10,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    0,                          /* has sup protos */
    NULL,                       /* no sub protos */
    1,                          /* has constants */
    &be_ktab_class_ColorProvider,     /* shared constants */
    be_str_weak(init),
    &be_const_str_solidified,
    ( &(const binstruction[11]) {  /* code */
      0x60080003,  //  0000  GETGBL	R2	G3
      0x5C0C0000,  //  0001  MOVE	R3	R0
      0x7C080200,  //  0002  CALL	R2	1
      0x8C080508,  //  0003  GETMET	R2	R2	K8
      0x5C100200,  //  0004  MOVE	R4	R1
      0x7C080400,  //  0005  CALL	R2	2
      0x4C080000,  //  0006  LDNIL	R2
      0x90020402,  //  0007  SETMBR	R0	K2	R2
      0x50080200,  //  0008  LDBOOL	R2	1	0
      0x90021202,  //  0009  SETMBR	R0	K9	R2
      0x80000000,  //  000A  RET	0
    })
  )
);
/*******************************************************************/


/********************************************************************
** Solidified class: ColorProvider
********************************************************************/
extern const bclass be_class_ValueProvider;
be_local_class(ColorProvider,
    2,
    &be_class_ValueProvider,
    be_nested_map(9,
    ( (struct bmapnode*) &(const bmapnode[]) {
        { be_const_key_weak(LUT_FACTOR, 8), be_const_int(1) },
        { be_const_key_weak(get_lut, 7), be_const_closure(class_ColorProvider_get_lut_closure) },
        { be_const_key_weak(get_color_for_value, 0), be_const_closure(class_ColorProvider_get_color_for_value_closure) },
        { be_const_key_weak(produce_value, -1), be_const_closure(class_ColorProvider_produce_value_closure) },
        { be_const_key_weak(_lut_dirty, -1), be_const_var(1) },
        { be_const_key_weak(PARAMS, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_map, {
        be_const_map( *     be_nested_map(1,
    ( (struct bmapnode*) &(const bmapnode[]) {
        { be_const_key_weak(brightness, -1), be_const_bytes_instance(07000001FF0001FF00) },
    }))    ) } )) },
        { be_const_key_weak(init, 5), be_const_closure(class_ColorProvider_init_closure) },
        { be_const_key_weak(_color_lut, -1), be_const_var(0) },
        { be_const_key_weak(apply_brightness, -1), be_const_static_closure(class_ColorProvider_apply_brightness_closure) },
    })),
    be_str_weak(ColorProvider)
);

extern const bclass be_class_ValueProvider;

/********************************************************************
** Solidified function: produce_value
********************************************************************/
be_local_closure(class_ValueProvider_produce_value,   /* name */
  be_nested_proto(
    5,                          /* nstack */
    3,                          /* argc */
    2,                          /* varg */
    0,                          /* has upvals */
    NULL,                       /* no upvals */
    0,                          /* has sup protos */
    NULL,                       /* no sub protos */
    1,                          /* has constants */
    ( &(const bvalue[ 1]) {     /* constants */
    /* K0   */  be_nested_str_weak(undefined),
    }),
    be_str_weak(produce_value),
    &be_const_str_solidified,
    ( &(const binstruction[ 4]) {  /* code */
      0x600C000B,  //  0000  GETGBL	R3	G11
      0x58100000,  //  0001  LDCONST	R4	K0
      0x7C0C0200,  //  0002  CALL	R3	1
      0x80040600,  //  0003  RET	1	R3
    })
  )
);
/*******************************************************************/


/********************************************************************
** Solidified class: ValueProvider
********************************************************************/
extern const bclass be_class_ParameterizedObject;
be_local_class(ValueProvider,
    0,
    &be_class_ParameterizedObject,
    be_nested_map(1,
    ( (struct bmapnode*) &(const bmapnode[]) {
        { be_const_key_weak(produce_value, -1), be_const_closure(class_ValueProvider_produce_value_closure) },
    })),
    be_str_weak(ValueProvider)
);

/********************************************************************
** Solidified module: animation
********************************************************************/
be_local_module(animation,
    "animation",
    be_nested_map(99,
    ( (struct bmapnode*) &(const bmapnode[]) {
        { be_const_key_weak(rich_palette, 83), be_const_class(be_class_RichPaletteColorProvider) },
        { be_const_key_weak(pulsating_animation, -1), be_const_closure(pulsating_animation_closure) },
        { be_const_key_weak(register_user_function, -1), be_const_closure(register_user_function_closure) },
        { be_const_key_weak(EASE_IN, 76), be_const_int(6) },
        { be_const_key_weak(noise_rainbow, -1), be_const_closure(noise_rainbow_closure) },
        { be_const_key_weak(is_user_function, -1), be_const_closure(is_user_function_closure) },
        { be_const_key_weak(gradient_two_color_linear, 43), be_const_closure(gradient_two_color_linear_closure) },
        { be_const_key_weak(PALETTE_RGB, 85), be_const_bytes_instance(00FF00008000FF00FF0000FF) },
        { be_const_key_weak(twinkle_gentle, -1), be_const_closure(twinkle_gentle_closure) },
        { be_const_key_weak(elastic, 65), be_const_closure(elastic_closure) },
        { be_const_key_weak(ELASTIC, 13), be_const_int(8) },
        { be_const_key_weak(EventManager, 12), be_const_class(be_class_EventManager) },
        { be_const_key_weak(strip_length, 98), be_const_class(be_class_StripLengthProvider) },
        { be_const_key_weak(palette_meter_animation, 93), be_const_class(be_class_GradientMeterAnimation) },
        { be_const_key_weak(color_provider, -1), be_const_class(be_class_ColorProvider) },
        { be_const_key_weak(sequence_manager, -1), be_const_class(be_class_SequenceManager) },
        { be_const_key_weak(pulsating_color, -1), be_const_closure(pulsating_color_provider_closure) },
        { be_const_key_weak(PALETTE_SUNSET_TICKS, -1), be_const_bytes_instance(28FF450028FF8C0028FFD70028FF69B4288000802819197000000080) },
        { be_const_key_weak(ease_in, -1), be_const_closure(ease_in_closure) },
        { be_const_key_weak(twinkle_classic, -1), be_const_closure(twinkle_classic_closure) },
        { be_const_key_weak(_math, -1), be_const_class(be_class_AnimationMath) },
        { be_const_key_weak(bounce, 67), be_const_closure(bounce_closure) },
        { be_const_key_weak(VERSION, -1), be_const_int(65536) },
        { be_const_key_weak(is_color_provider, 58), be_const_closure(is_color_provider_closure) },
        { be_const_key_weak(TRIANGLE, -1), be_const_int(2) },
        { be_const_key_weak(solid, -1), be_const_closure(solid_closure) },
        { be_const_key_weak(rich_palette_animation, -1), be_const_class(be_class_RichPaletteAnimation) },
        { be_const_key_weak(iteration_number, 89), be_const_class(be_class_IterationNumberProvider) },
        { be_const_key_weak(wave_rainbow_sine, -1), be_const_closure(wave_rainbow_sine_closure) },
        { be_const_key_weak(init, -1), be_const_closure(animation_init_closure) },
        { be_const_key_weak(LINEAR, -1), be_const_int(1) },
        { be_const_key_weak(triangle, -1), be_const_closure(triangle_closure) },
        { be_const_key_weak(create_closure_value, -1), be_const_closure(create_closure_value_closure) },
        { be_const_key_weak(event_handler, -1), be_const_class(be_class_EventHandler) },
        { be_const_key_weak(animation, 14), be_const_class(be_class_Animation) },
        { be_const_key_weak(frame_buffer, -1), be_const_class(be_class_FrameBuffer) },
        { be_const_key_weak(closure_value, -1), be_const_class(be_class_ClosureValueProvider) },
        { be_const_key_weak(smooth, -1), be_const_closure(smooth_closure) },
        { be_const_key_weak(breathe_color, -1), be_const_class(be_class_BreatheColorProvider) },
        { be_const_key_weak(BOUNCE, -1), be_const_int(9) },
        { be_const_key_weak(trigger_event, -1), be_const_closure(trigger_event_closure) },
        { be_const_key_weak(ramp, -1), be_const_closure(ramp_closure) },
        { be_const_key_weak(unregister_event_handler, 29), be_const_closure(unregister_event_handler_closure) },
        { be_const_key_weak(wave_custom, 50), be_const_closure(wave_custom_closure) },
        { be_const_key_weak(static_color, 8), be_const_class(be_class_StaticColorProvider) },
        { be_const_key_weak(SAWTOOTH, -1), be_const_int(1) },
        { be_const_key_weak(noise_single_color, -1), be_const_closure(noise_single_color_closure) },
        { be_const_key_weak(twinkle_animation, -1), be_const_class(be_class_TwinkleAnimation) },
        { be_const_key_weak(get_event_handlers, -1), be_const_closure(get_event_handlers_closure) },
        { be_const_key_weak(list_user_functions, -1), be_const_closure(list_user_functions_closure) },
        { be_const_key_weak(palette_gradient_animation, -1), be_const_class(be_class_PaletteGradientAnimation) },
        { be_const_key_weak(resolve, 21), be_const_closure(animation_resolve_closure) },
        { be_const_key_weak(EASE_OUT, -1), be_const_int(7) },
        { be_const_key_weak(sawtooth, -1), be_const_closure(sawtooth_closure) },
        { be_const_key_weak(SINE, 28), be_const_int(5) },
        { be_const_key_weak(static_value, 75), be_const_class(be_class_StaticValueProvider) },
        { be_const_key_weak(parameterized_object, -1), be_const_class(be_class_ParameterizedObject) },
        { be_const_key_weak(twinkle_rainbow, 33), be_const_closure(twinkle_rainbow_closure) },
        { be_const_key_weak(wave_animation, -1), be_const_class(be_class_WaveAnimation) },
        { be_const_key_weak(beacon_animation, 38), be_const_class(be_class_BeaconAnimation) },
        { be_const_key_weak(breathe_animation, 48), be_const_class(be_class_BreatheAnimation) },
        { be_const_key_weak(comet_animation, 51), be_const_class(be_class_CometAnimation) },
        { be_const_key_weak(get_user_function, -1), be_const_closure(get_user_function_closure) },
        { be_const_key_weak(oscillator_value, -1), be_const_class(be_class_OscillatorValueProvider) },
        { be_const_key_weak(cosine_osc, 80), be_const_closure(cosine_osc_closure) },
        { be_const_key_weak(PALETTE_RAINBOW, -1), be_const_bytes_instance(00FF000024FFA50049FFFF006E00FF00920000FFB74B0082DBEE82EEFFFF0000) },
        { be_const_key_weak(square, -1), be_const_closure(square_closure) },
        { be_const_key_weak(fire_animation, -1), be_const_class(be_class_FireAnimation) },
        { be_const_key_weak(version_string, -1), be_const_closure(animation_version_string_closure) },
        { be_const_key_weak(COSINE, -1), be_const_int(4) },
        { be_const_key_weak(twinkle_solid, -1), be_const_closure(twinkle_solid_closure) },
        { be_const_key_weak(rich_palette_rainbow, 64), be_const_closure(rich_palette_rainbow_closure) },
        { be_const_key_weak(gradient_rainbow_radial, -1), be_const_closure(gradient_rainbow_radial_closure) },
        { be_const_key_weak(value_provider, -1), be_const_class(be_class_ValueProvider) },
        { be_const_key_weak(crenel_position_animation, 16), be_const_class(be_class_CrenelPositionAnimation) },
        { be_const_key_weak(is_value_provider, -1), be_const_closure(is_value_provider_closure) },
        { be_const_key_weak(clear_all_event_handlers, -1), be_const_closure(clear_all_event_handlers_closure) },
        { be_const_key_weak(gradient_animation, -1), be_const_class(be_class_GradientAnimation) },
        { be_const_key_weak(sine_osc, 26), be_const_closure(sine_osc_closure) },
        { be_const_key_weak(create_engine, -1), be_const_class(be_class_AnimationEngine) },
        { be_const_key_weak(noise_animation, -1), be_const_class(be_class_NoiseAnimation) },
        { be_const_key_weak(engine_proxy, -1), be_const_class(be_class_EngineProxy) },
        { be_const_key_weak(composite_color, 27), be_const_class(be_class_CompositeColorProvider) },
        { be_const_key_weak(register_event_handler, 40), be_const_closure(register_event_handler_closure) },
        { be_const_key_weak(twinkle_intense, 3), be_const_closure(twinkle_intense_closure) },
        { be_const_key_weak(noise_fractal, -1), be_const_closure(noise_fractal_closure) },
        { be_const_key_weak(SQUARE, 81), be_const_int(3) },
        { be_const_key_weak(init_strip, -1), be_const_closure(animation_init_strip_closure) },
        { be_const_key_weak(PALETTE_FOREST, -1), be_const_bytes_instance(0000640040228B228032CD32C09AFF9AFF90EE90) },
        { be_const_key_weak(linear, -1), be_const_closure(linear_closure) },
        { be_const_key_weak(ease_out, -1), be_const_closure(ease_out_closure) },
        { be_const_key_weak(gradient_rainbow_linear, -1), be_const_closure(gradient_rainbow_linear_closure) },
        { be_const_key_weak(color_cycle, 46), be_const_class(be_class_ColorCycleColorProvider) },
        { be_const_key_weak(PALETTE_FIRE, 96), be_const_bytes_instance(000000004080000080FF0000C0FF8000FFFFFF00) },
        { be_const_key_weak(get_registered_events, -1), be_const_closure(get_registered_events_closure) },
        { be_const_key_weak(set_event_active, -1), be_const_closure(set_event_active_closure) },
        { be_const_key_weak(PALETTE_OCEAN, -1), be_const_bytes_instance(00000080400000FF8000FFFFC000FF80FF008000) },
        { be_const_key_weak(enc_params, 32), be_const_closure(encode_constraints_closure) },
        { be_const_key_weak(wave_single_sine, -1), be_const_closure(wave_single_sine_closure) },
    }))
);
BE_EXPORT_VARIABLE be_define_const_native_module(animation);
/********************************************************************/
/********************************************************************/
/* End of solidification */
